الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

مغلقمُجاب
بدأه Dr.UaE1 في 14 يونيو 2013 · 6 رد · 4,224 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

 

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

 

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 في 14 يونيو 2013 في 14:48

#2

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

echo "<tr>"
for( $number = 1; $number <= 100; $number++ )

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


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#3

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>
#4

السلام عليكم

 

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

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

<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>

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

#5

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

#6

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

#7 أفضل إجابة

السلام عليكم

 

أولاً: عليك معرفة هيكلة بناء الجدول في اللغة الهيكلية 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 فقط .

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

هذا الموضوع مغلق.

مواضيع مشابهة