singlepost

Вложенный цикл << На главную или назад  

while($cat = mysql_fetch_array($ctg))#Цикл1
{
$id = $cat['ID'];
$name = $cat['name'];
$queryq = "SELECT * FROM `site`.`photo` WHERE id_catalog=$id";
$ctgq = mysql_query($queryq,$connector);
while($cat = mysql_fetch_array($ctgq))#Цикл2 вложенный в цикл1
{
$results[$i++] = $cat['big'];
smarty->assign($name,$results);
}
}
Здравствуйте! Имеется два цикла. цикл1 доходит до цикла 2 затем цикл 2 выполняется только один раз и переходит дальше к циклу1,
а нужно чтоб цикл 2 выполнился до конца тоесть пока не извлечет все фото с данным id_catalog и затем пойти дальше по циклу1 и назначить имя католога $name (как имя переменной смарти) и массив фото $result как значение и затем снова цикл1 для получения следущего ида и имя каталога чтоб выбрать его фото затем. Щас получается что при проверке второго и третьего(порядковые номера извлечения из БД) массив $result захватывает и фото предыдущих каталогов(в результате смарти получает несколько переменных с названием соответсвующих имю каталого в БД и фото у котрых id_catalog квен $id). Как решить проблему?

12 ответов в теме “Вложенный цикл”

  1. 6
    Антон Щиров ответил:

    И, кстати, от переменной $i можно вообще избавиться и писать так
    $results[] = $cat['big'];

  2. 5
    Антон Щиров ответил:

    Так я же написал уже
    $results = array();
    $i = 0;

  3. 4
    Антон Щиров ответил:

    В плане правильно ли я расшифровал твой вопрос и тебе нужно просто перед вторым циклом обнулять переменную $results

  4. 3
    Андрей Игоревич ответил:

    да, буду признателен если подскажете как?

  5. 2
    Андрей Игоревич ответил:

    В каком плане это?

  6. 1
    Антон Щиров ответил:

    Это?
    $id = $cat['ID'];
    $name = $cat['name'];
    $results = array();
    $i = 0;
    $queryq = "SELECT * FROM `site`.`photo` WHERE id_catalog=$id";

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.