За последние 24 часа нас посетили 18352 программиста и 1605 роботов. Сейчас ищут 934 программиста ...

Как несколько циклов сделать одним?

Тема в разделе "PHP для новичков", создана пользователем LAlexS, 17 июл 2012.

  1. LAlexS

    LAlexS Активный пользователь

    С нами с:
    12 авг 2010
    Сообщения:
    179
    Симпатии:
    0
    Адрес:
    Екатеринбург
    Понимаю, что код громоздкий. Как три while сделать одним?

    Код (Text):
    1. $continent_list = mysql_query("SELECT * FROM continents");
    2. echo "<table>";
    3. while ($continent = mysql_fetch_array ($continent_list))
    4. {
    5.     echo "<tr><td>".$continent['continent_name']."</td>";
    6.    
    7.     $country_qty = mysql_query("SELECT COUNT(*) FROM countries WHERE continent = ".$continent['continent_id']."");
    8.     $c_qty = mysql_fetch_row($country_qty);
    9.     $t_qty = $c_qty[0];
    10.     $qty = ceil($t_qty / 3);
    11.    
    12.     echo "<td>";
    13.     $country_list = mysql_query("SELECT * FROM countries WHERE continent = ".$continent['continent_id']." ORDER BY country_name LIMIT 0,".$qty."");
    14.     while ($country = mysql_fetch_array ($country_list))
    15.     {
    16.         echo $country['country_name']."<br>";
    17.     }
    18.     echo "</td>";
    19.     echo "<td>";
    20.     $country_list = mysql_query("SELECT * FROM countries WHERE continent = ".$continent['continent_id']." ORDER BY country_name LIMIT ".$qty.",".$qty."");
    21.     while ($country = mysql_fetch_array ($country_list))
    22.     {
    23.         echo $country['country_name']."<br>";
    24.     }
    25.     echo "</td>";
    26.     echo "<td>";
    27.     $qty2 = $qty * 2;
    28.     $qty3 = $t_qty - $qty2;
    29.     $country_list = mysql_query("SELECT * FROM countries WHERE continent = ".$continent['continent_id']." ORDER BY country_name LIMIT ".$qty2.",".$qty3."");
    30.     while ($country = mysql_fetch_array ($country_list))
    31.     {
    32.         echo $country['country_name']."<br>";
    33.     }
    34.     echo "</td></tr>";
    35. }
    36. echo "</table>";
     
  2. echo "</td>";
    echo "<td>";

    это мешает... а зачем? вроде и так хорошо