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). Как решить проблему?
7 мая 2008 в 20:03
И, кстати, от переменной $i можно вообще избавиться и писать так
$results[] = $cat['big'];
7 мая 2008 в 20:02
Так я же написал уже
$results = array();
$i = 0;
7 мая 2008 в 20:01
В плане правильно ли я расшифровал твой вопрос и тебе нужно просто перед вторым циклом обнулять переменную $results
7 мая 2008 в 20:01
да, буду признателен если подскажете как?
7 мая 2008 в 20:00
В каком плане это?
7 мая 2008 в 19:05
Это?
$id = $cat['ID'];
$name = $cat['name'];
$results = array();
$i = 0;
$queryq = "SELECT * FROM `site`.`photo` WHERE id_catalog=$id";