За последние 24 часа нас посетили 18805 программистов и 1612 роботов. Сейчас ищут 912 программистов ...

Не выводит вложенный цикл

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

  1. LAlexS

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

    С нами с:
    12 авг 2010
    Сообщения:
    179
    Симпатии:
    0
    Адрес:
    Екатеринбург
    Суть проблемы в том, что вложенный цикл выводится только один раз, а все остальные проходы он не исполняется

    Код (Text):
    1. $group_list = mysql_query('SELECT * FROM groups') or die('Фигня!');
    2. $categorie_list = mysql_query('SELECT * FROM categories') or die('Фигня!');
    3. while ($group = mysql_fetch_array($group_list))
    4. {echo "<p><a href=''>".$group['group_name']."</a></p>";
    5. while ($categorie = mysql_fetch_array($categorie_list))
    6. {
    7. if ($categorie['parent_group']==$group['id'])
    8. echo "<a href=''>".$categorie['categorie_name']."</a><br>";}
    9. }
     
  2. Ti

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

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    в перед или после вложенного цикла перемотайте запрос на начало mysql_data_seek($categorie_list, 0)
    разумно не доставать из базы одно и тоже несколько раз, а закешировать результат в массив и использовать этот массив во вложенном цикле
     
  3. Jampire

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

    С нами с:
    22 авг 2009
    Сообщения:
    181
    Симпатии:
    0
    Адрес:
    Гомель
    А зачем здесь вообще вложенный цикл и два запроса?
    Код (Text):
    1. SELECT `g`.`group_name`, `c`.`categorie_name` FROM `groups` AS g, `categories` AS c WHERE `g`.`id` = `c`.`parent_group` ORDER BY `g`.`group_name`;
     
  4. LAlexS

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

    С нами с:
    12 авг 2010
    Сообщения:
    179
    Симпатии:
    0
    Адрес:
    Екатеринбург
    Ti

    Спасибо, дружище, сработало! Насчет массива, опять же, спасибо за подсказку!

    Jampire

    Этот вариант не совсем подходит для моих целей... как мне кажется. Но все-равно спасибо!