Насти Никулина
Насти Никулина

Почему вложенный цикл выполняется только один раз?

Вот код:




Документ Без Имени



";
echo 'id категории - '.$cat_myrow["id"].' ';
echo $cat_myrow["title"];
echo "";
$id = $cat_myrow['id'];
while ($myrow = mysql_fetch_assoc($result)) {
if ($cat_myrow["id"] != $myrow["catid"]) {
continue;
}

echo "";
echo 'id категории - '.$myrow["catid"];
echo "

" . $myrow["title"] . "

";
echo "

" . $myrow["text"] . "

";
echo "Адрес: " . $myrow["address"] . "";
echo "Время работы: " . $myrow["work_time"] . "";
echo "Телефон: " . $myrow["phone"] . "";
echo "Сайт: ";
echo "Метро рядом: " . $myrow["metro_1"] . ".";
echo "";

}

}

?>

while ($cat_myrow = mysql_fetch_assoc($cat_result)) {

echo "";
echo 'id категории - '.$cat_myrow["id"].' ';
echo $cat_myrow["title"];
echo "";
$id = $cat_myrow['id'];

while ($myrow = mysql_fetch_assoc($result)) {
if ($cat_myrow["id"] != $myrow["catid"]) {
continue;
}

echo "";
echo 'id категории - '.$myrow["catid"];
echo "

" . $myrow["title"] . "

";
echo "

" . $myrow["text"] . "

";
echo "Адрес: " . $myrow["address"] . "";
echo "Время работы: " . $myrow["work_time"] . "";
echo "Телефон: " . $myrow["phone"] . "";
echo "Сайт: ";
echo "Метро рядом: " . $myrow["metro_1"] . ".";
echo "";

}

}

Спасибо за ответ. Наверно надо подробнее описать задачу.
У меня две таблицы в базе. Станции метро - id, title. и вторая таблица это адреса магазинов - id, catid и т. д. . Вот хочу в цикле вывести названия метро и под каждым названием магазины относящиеся к этому метро. Сортировка по id метро и catid магазинов.

В этом коде выводятся все названия метро, и магазины только под первым названием. А дальше никак.

Заранее благодарен за ответ.

Решил задачу. Просто в верхний цикл надо было перед вложенным циклом вставить запрос в базу для вложенного цикла.

Возможно кто-то прочитает и сэкономит 2 дня!!!!:)

Ni
Nikita

это
if ($cat_myrow["id"] != $myrow["catid"]) {
continue;
}
говорит, что пропускать все записи где значения id и catid неравны, соответственно выводится только то что равно.
Попробуйте так
if ($cat_myrow["id"] == $myrow["catid"]) {
continue;
}

Похожие вопросы
Выполнять цикл пока не нажата кнопка (с++ builder)
Подскажите как можно закодить выражение a0-а1+a2-а3+a4-а5+...чтоб оно выполнялось в цикле?
Можно ли выполнять обход двумерного массива, организовав внешний цикл по столбцам, а внутренний по строкам?
ПОМОГИТЕ!! Как определить объем вводимых данных для вложенного цикла?
Перебор на C++ с вложенными циклами
Как составить алгоритм сложения элементов матрицы без использования вложенного цикла?
Почему запрос выполняется не так как нужно?
Почему не повторяется цикл? (Паскаль)
хочу вывести все простые числа числа 150 и максимальный множитель. как выйти из вложенного цикла и при этом начать новую
Какие три операции выполняются в цикле fоr?