|
|
|
| Всем здравствуйте!!!
У меня есть одна проблема, я понимаю что возможно она бональная, но никак не могу сообразить, поэтому прошу помощи.
У меня есть таблица, такого вида:
ID PARENT_ID NAME
id - уникальное значение
parent_id - родительский каталог
name - название
мне нужно вывести все записи в виде дерева, как это сделать??? вот мой вариант:
if($get_id=='') $get_id=0;
$sql_get_submenu="SELECT * FROM catalog_group WHERE parent_id=$get_id ORDER BY id ASC";
$row_get_submenu=q($sql_get_submenu) - отправление запроса базе;
if(n($row_get_submenu) количество записей!=0)
{
for($i=0;$i<n($row_get_submenu);$i++)
{
$res_get_submenu=a($row_get_submenu); - массив записей
if($nom==$res_get_submenu['id']) echo "<option value='{$res_get_submenu['id']}' selected>{$res_get_submenu['group_name']}</option><br>";
else echo "<option value='{$res_get_submenu['id']}'>{$res_get_submenu['group_name']}</option><br>";
$get_id=$res_get_submenu['id'];
$count=0;
$end=$get_id;
while($end!=0)
{
$count++;
$sql_get_2="SELECT * FROM catalog_group WHERE parent_id=$get_id ORDER BY id ASC;";
$row_get_2=q($sql_get_2);
if(n($row_get_2)!=0)
{
for($j=0;$j<n($row_get_2);$j++)
{
$res_get_2=a($row_get_2);
if($nom==$res_get_2['id']) echo "<option value='{$res_get_2['id']}' selected>".str_repeat(" ",$count)."{$res_get_2['group_name']}</option><br>";
else echo "<option value='{$res_get_2['id']}'>".str_repeat(" ",$count)."{$res_get_2['group_name']}</option><br>";
$get_id=$res_get_2['id'];
}
$end=$get_id;
}
else $end=0;
}
}
}
|
У меня выводится, только первый и второй уровни и всё, а их там намного больше.
Если вы чем то сможете помочь, буду очень благодарен!!! | |
|
|