• 0
Dr.UaE1

سؤال عن طريقة ال for

سؤال

السلام عليكم .

 

حاولت اكتب كود ينتج لي في المتصفح الشكل التالي..

 

793417647.png

 

 

 

 

هذا الكود اللي قدرت اوصل له ..

<html><head> <title> Welcome </title> </head><body><table border="1"><?php$number=0; for( $number; $number < 100; $number++ ){		$result = $number + 1;		$counter=1;		for ( $counter=1; $counter <= 100; $counter++; )			echo "<tr><td>$result</td></tr>";					}?></table></body></html>

وهل يجب استخدام for loop داخل for loop اخرى ؟

تم تعديل بواسطه Dr.UaE1
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

6 إجابة على هذا السؤال .

  • 0

السلام عليكم

 

أولاً: عليك معرفة هيكلة بناء الجدول في اللغة الهيكلية HTML وهي تكون كالتالي :

<table>    <tr>        <td>cell 1</td>        <td>cell 2</td>    </tr>    <tr>        <td>cell 3</td>        <td>cell 4</td>    </tr></table>

- الـ tr هو الصف ويحوي داخله الخلايا td ويجب أن تكون عدد الخلايا td متساوية في كل صف tr ولكن إن أردت دمج  الخلايا عليك استخدام الخاصية colspan

 

- الأن أنت تريد أن تطبع الأعداد من 1 إلى 100 كل عدد داخل خلية td وكل 10 خلايا يكونوا في صف واحد أي ضمن tr , إذاً إذا أردت تنفيذ هذا مباشراً بواسطة الـ HTML سيكون الشكل كالتالي:

<table>    <tr>        <td>1</td>        <td>2</td>        <td>3</td>        <td>4</td>        <td>5</td>        <td>6</td>        <td>7</td>        <td>8</td>        <td>9</td>        <td>10</td>    </tr>    <tr>        <td>11</td>        <td>12</td>        <td>13</td>        <td>14</td>        <td>15</td>        <td>16</td>        <td>17</td>        <td>18</td>        <td>19</td>        <td>20</td>    </tr>    <tr>        <td>21</td>        <td>22</td>        <td>23</td>        <td>24</td>        <td>25</td>        <td>26</td>        <td>27</td>        <td>28</td>        <td>29</td>        <td>30</td>    </tr>    <tr>        <td>31</td>        <td>32</td>        <td>33</td>        <td>34</td>        <td>35</td>        <td>36</td>        <td>37</td>        <td>38</td>        <td>39</td>        <td>40</td>    </tr>    <tr>        <td>41</td>        <td>42</td>        <td>43</td>        <td>44</td>        <td>45</td>        <td>46</td>        <td>47</td>        <td>48</td>        <td>49</td>        <td>50</td>    </tr>    <tr>        <td>51</td>        <td>52</td>        <td>53</td>        <td>54</td>        <td>55</td>        <td>56</td>        <td>57</td>        <td>58</td>        <td>59</td>        <td>60</td>    </tr>    <tr>        <td>61</td>        <td>62</td>        <td>63</td>        <td>64</td>        <td>65</td>        <td>66</td>        <td>67</td>        <td>68</td>        <td>69</td>        <td>70</td>    </tr>    <tr>        <td>71</td>        <td>72</td>        <td>73</td>        <td>74</td>        <td>75</td>        <td>76</td>        <td>77</td>        <td>78</td>        <td>79</td>        <td>80</td>    </tr>    <tr>        <td>81</td>        <td>82</td>        <td>83</td>        <td>84</td>        <td>85</td>        <td>86</td>        <td>87</td>        <td>88</td>        <td>89</td>        <td>90</td>    </tr>    <tr>        <td>91</td>        <td>92</td>        <td>93</td>        <td>94</td>        <td>95</td>        <td>96</td>        <td>97</td>        <td>98</td>        <td>99</td>        <td>100</td>    </tr></table>

نأتي الآن لتنفيذ هذا الكود من خلال لغة php سنستخدم حلقتان متداخلتان كالتالي :

<table><?php    $count = 0;    for( $i=0; $i<10; $i++ )    {        echo "<tr>";        for($j=0; $j<10; $j++ )        {            $count++;            echo "<td>$count</td>";        }        echo "</tr>";    }?></table>

- حيث أننا نريد 100 خلية أي 10 في 10 ونمثل هذا بحلقتان متداخلتان , الحلقة الخارجية هي عدد الصفوف tr والحلقة الداخلية هي عدد الخلايا td , وقمنا بعمل متغير $count لزيادة قيمته بمقدار 1 في كل مرة أو استخدام الطريقة كما في الأكواد السابقة .
 

- بالنسبة لفكرة باقي القسمة هي إنشاء حلقة واحدة وبما أننا نريد كل صف يحتوي على 10 خلايا فقط , فسنقسم عداد الحلقة على العدد 10 فإن كان الباقي من القسمة هو 0 يتم إنشاء صف جديد tr ويكون الباقي 0 من القسمة على 10 للأرقام  10 20 30 ... 90 فقط .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

استخدم mod او باقى القسمة داخل نفس الدوران

echo "<tr>"for( $number = 1; $number <= 100; $number++ ){			echo "<td>$number</td>>";			if($number % 10 == 0)	echo "</tr><tr>"	}echo "</tr>"
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

here is your code corrected

<html><head> <title> Welcome </title> </head><body><table border="1"><?php$number=0; for( $number = 0; $number < 10; $number++ ){        $result = $number + 1;        $counter=1;    echo "<tr>";    for ( $counter=1; $counter <= 10; $counter++ )    {    $res = $counter + (10 * $number);    echo "<td> $res </td>";    }    echo "</tr>";                }?></table></body></html>
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

 

هذه حلول أخرى لنفس الطريقتين اللتان تم ذكرهما في الأعلى من زملائنا مع إضافة إطار خارجي فقط حول الجدول كما في الصورة :

الطريقة الأولى استخدام باقي القسمة :

<html><head> <title> Welcome </title> </head><body><div style="border: 1px solid #000; display: inline-block; text-align: center;">    <table>    <?php        $row = '';        for( $i=1; $i<=100; $i++ )        {            $row .= "<td>$i</td>";            if($i%10 == 0)            {                echo "<tr>$row</tr>";                $row = '';            }                    }    ?>    </table></div></body></html>

والطريقة الثانية استخدام حلقتان متداخلتان :

<html><head> <title> Welcome </title> </head><body><div style="border: 1px solid #000; display: inline-block; text-align: center;">    <table>    <?php        for( $i=0; $i<=9; $i++ )        {            echo "<tr>";            for($j=1; $j<=10; $j++ )            {                $result = ($i*10)+$j;                echo "<td>$result</td>";            }            echo "</tr>";        }    ?>    </table></div></body></html>
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاكم الله خيراً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاكم الله خير ، بس لو واحد يشرح لي الكود بالضبط يسوي خير ، لاني فكرت ان العدد لازم يكون اقل من 100

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .