Извращение. Цикл в цикле.
Добавлено:
22 фев 2010, 00:22
Zver
Сейчас стараюсь написать простенький скрипт форума.
На главной странице выводятся форумы, и под форумы.
Т.е. в БД есть таблицы:
forums (parent_forum),
forums_themes (forum_id),
forums_posts (theme_id).
Получается вложенная система. При выводе главной странницы у меня считываются основные форумы, тобишь с "parant_id" = 0. А уже под ними форумы, ID которых равен родительскому форуму.
В итоге - у меня выходит цикл в цикле. Можно ли использовать такую систему?
Сам понимаю, брёд, но куда деваться (=
Re: Извращение. Цикл в цикле.
Добавлено:
22 фев 2010, 13:40
Zver
Чорт (=
В общем - у меня при выводе разделов используется два цикла:
- Код: Выделить всё • Развернуть
|--- Раздел 1----|
| |
||- форум 1 |
||- форум 1 |
| |
|--- Раздел 2----|
| |
||- форум 3 | Цикл 1 (Форумы выводятся в цикле 2)
||- форум 4 |
| |
|--- Раздел 3----|
| |
||- форум 5 |
||- форум 6 |
|----------------|
Т.е. первый цикл выводит все разделы, а второй цикл выводит форумы.
Выходит что у меня получчается цикл в цикле.
И вот только сейчас понял что такая система не работает. Как быть?
PS: Циклы "for"
Re: Извращение. Цикл в цикле.
Добавлено:
23 фев 2010, 10:32
Кадет
for, while, do while.
P.S. это не извращение, а в полне рабочий вариант
Вложенные циклы называется
Re: Извращение. Цикл в цикле.
Добавлено:
24 фев 2010, 14:47
Zver
Заметил что for не работает, а do while дублирует превую запись....
Re: Извращение. Цикл в цикле.
Добавлено:
24 фев 2010, 16:23
Кадет
Что значит фор не работает?
Re: Извращение. Цикл в цикле.
Добавлено:
24 фев 2010, 16:36
Zver
Выполняется только первый подцикл, остальные нет..
Re: Извращение. Цикл в цикле.
Добавлено:
24 фев 2010, 17:38
Кадет
Ну смотри: например с++, синтаксис понятен так что на пхп пости так же:
- Код: Выделить всё • Развернуть
for(i=0; i<2; i++)
{
printf('lab1');
for(j=0; j<2; j++)
{
printf('lab2');
}
}
вывод будет что-то типо:
lab1
lab2
lab2
lab1
lab2
lab2
Re: Извращение. Цикл в цикле.
Добавлено:
24 фев 2010, 18:21
Zver
Делал так:
- Код: Выделить всё • Развернуть
for($i=0; $i<$all_sections; $i++){
$row_sections = mysql_fetch_array($res_sections);
echo $row_sections['title']." | ".$row_sections['description']; for($i=0; $i<$all_forums; $i++){
$row_forums = mysql_fetch_array($res_forums);
echo $row_forums['title']." - ".$row_forums['date']; }
}
И выводится у меня все разделы, и только рез-ат первого подцикала...