Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Каталог
 
 автор: Pilot_Rus   (24.11.2008 в 18:01)   письмо автору
 
 

Всем здравствуйте!!!

У меня есть одна проблема, я понимаю что возможно она бональная, но никак не могу сообразить, поэтому прошу помощи.

У меня есть таблица, такого вида:
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("&nbsp;&nbsp;&nbsp;",$count)."{$res_get_2['group_name']}</option><br>";
else echo "<option value='{$res_get_2['id']}'>".str_repeat("&nbsp;&nbsp;&nbsp;",$count)."{$res_get_2['group_name']}</option><br>";
$get_id=$res_get_2['id'];
}
$end=$get_id;
}
else $end=0;
}
}
}


У меня выводится, только первый и второй уровни и всё, а их там намного больше.

Если вы чем то сможете помочь, буду очень благодарен!!!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования