Вопрос больше на логику, чем на PHP.
Имеется многоуровневая цепочка (категории и подкатегории, внутри каждой подкатегории могут быть свои подкатегории).
При этом количество уровней подкатегорий заранее неизвестно - их может быть три, а может быть и десять.
В MYSQL для каждого элемента задается номер вышестоящего над ним элемента.
Задача: вывести на экране все категории и подкатегории:
=Категория 1
== Подкатегория 2
=== Подкатегория 3
==== Подкатегория 5
==== Подкатегория 6
=== Подкатегория 4
Я изначально написал цикл вывода категорий первого уровня, внутри каждой категории выводятся вторым циклом подкатегории второго уровня.
Но как быть, если есть категории третьего, четвертого и т.д. уровня? Не писать же каждый раз цикл внутри цикла?
Буду благодарен за любые советы.
$data_mysql = mysql_query("SELECT * FROM table"); // ПЕРВЫЙ ЦИКЛ - ВЫВОД КАТЕГОРИЙ ПЕРВОГО УРОВНЯ
$array = mysql_fetch_array($data_mysql);
do
{
echo $array['id'];
$sub_data_mysql = mysql_query("SELECT * FROM tasks WHERE dominate_id = '$array_id'"); // ВТОРОЙ ЦИКЛ - ВЫВОД КАТЕГОРИЙ ВТОРОГО УРОВНЯ, КОТОРЫЕ ОТНОСЯТСЯ К СООТВЕТСТВУЮЩЕЙ КАТЕГОРИИ ПЕРВОГО УРОВНЯ
$sub_array = mysql_fetch_array($sub_data_mysql);
do
{
echo $sub_array['task'];
}
while ($sub_array = mysql_fetch_array($sub_data_mysql));
}
while ($array = mysql_fetch_array($data_mysql));