Xpoint
   [напомнить пароль]

Вложенное меню

Метки: [без меток]
2007-08-15 11:58:24 [обр] D.A.Y[досье]
сообщение промодерировано

Добрый день.
Есть таблица в MySQL

idparent_idlevelsnameurl
101Punkt1ssilka1
201Punkt2ssilka2
312Sub_Punkt1ssilka3
412Sub_Punkt3ssilka4
522Sub_Punkt_1ssilka5

Суть его таково, если не выбран родительский пункт, меню выглядет так:

Punkt1
Punkt2
Punkt3

если выбрать любой из пунктов, допустим 2ой, оно должно выглядеть так:

Punkt1
Punkt2
--SubPunkt1
--SubPunkt2
--SubPunkt3
Punkt3

Проблема вообщем заключаеться в том, что не могу понять и осилить как сделать выборку и вывод на страницу. Ведь в цыкле нельзя опять делать SELECT.

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

спустя 36 минут [обр] Vladimir[досье]
сообщение промодерировано
<?
.....
if(isset($_GET['parent_id'])){
$parent_id=intval($_GET['parent_id']);
$sql="select * from table where parent_id=$parent_id or parent_id=0 order by parent_id,level";

}else{
$sql="select * from table where  parent_id=0 order by level";
}
$result=mysql_query($sql);
$menu_html='--';
while($obj=mysql_fetch_object($result)){
if (isset($parent_id) && $obj->parent_id==$parent_id) $menu_html.="--";
$menu_html.="<a href='".$obj->ssilka."'>".$obj->name."</a><br />";
}
$menu_html.='--';
.....
?>
спустя 3 минуты [обр] Vladimir[досье]
Ведь в цыкле нельзя опять делать SELECT.
можно кучу только не надо)
спустя 25 минут [обр] D.A.Y[досье]
$_GET['parent_id'] - это переменной нет в урлах...
спустя 2 часа 23 минуты [обр] Marat Tanalin(3/78)[досье]
Несколько SQL-запросов в рекурсии по числу выводимых уровней меню.
спустя 2 минуты [обр] Marat Tanalin(3/78)[досье]
Кстати, столбец levels избыточен.
Powered by POEM™ Engine Copyright © 2002-2005