defence
Деклассированный элемент
Заморочка с меню.
Привет люди! Вопрос к вам: есть меню, которое выбирается из базы с такой структурой:
id | name | parent
1 | категория 1 | 0
2 | категория 2 | 0
3 | категория 3 | 0
4 | подкатегория 1.1 | 1
5 | подкатегория 1.2 | 1
6 | подкатегория 2.1 | 2
Здесь понятно какая подкатегория какой категории принадлежит. Выводится все это дело следующим образом, если кликнуть на первую категорию:
Категория 1
- подкатегория 1.1
- подкатегория 1.2
Категория 2
Категория 3
А если на вторую, то так вот:
Категория 1
Категория 2
- подкатегория 2.1
- подкатегория 2.2
Категория 3
Вот код, который все это делает:
Вопрос вот в чем: босс хочет чтоб также работали категории третьего уровня, типа "подподкатегории". Т.е.,
Категория 1
Категория 2
- подкатегория 2.1
- подподкатегория 2.1.1
- подподкатегория 2.1.2
- подкатегория 2.2
Категория 3
Подскажите, пожалуйста, как это реализовать. Просто все это нужно срочно, а я 2 месяца вообще к компу не подходил, ничего в голове собрать не могу (
Привет люди! Вопрос к вам: есть меню, которое выбирается из базы с такой структурой:
id | name | parent
1 | категория 1 | 0
2 | категория 2 | 0
3 | категория 3 | 0
4 | подкатегория 1.1 | 1
5 | подкатегория 1.2 | 1
6 | подкатегория 2.1 | 2
Здесь понятно какая подкатегория какой категории принадлежит. Выводится все это дело следующим образом, если кликнуть на первую категорию:
Категория 1
- подкатегория 1.1
- подкатегория 1.2
Категория 2
Категория 3
А если на вторую, то так вот:
Категория 1
Категория 2
- подкатегория 2.1
- подкатегория 2.2
Категория 3
Вот код, который все это делает:
PHP:
if (!$cid)
return;
$mas=array();
$list_cat=mysql_query("SELECT * FROM categories WHERE parent='$cid' ORDER BY name");
$num=mysql_num_rows($list_cat);
for($i=0; $i<$num; $i++) {
$mas[]=mysql_fetch_array($list_cat);
}
$list_cat=mysql_query("SELECT * FROM categories WHERE parent=0 ORDER BY cid");
$num=mysql_num_rows($list_cat);
for($i=0; $i<$num; $i++) {
$lc=mysql_fetch_array($list_cat);
if($lc["cid"] == $cid) {
echo '<font class=catlink_activ><li><b>'.$lc["name"].'</b></li></font><br>';
} else {
echo '<a class=catlink href=catalog.php?cid='.$lc["cid"].'><li><b>'.$lc["name"].'</b></li></a><br>';
}
if ($lc['cid']==$cid){
for ($j=0;$j<sizeof($mas);$j++){
if($sub !== $mas[$j]["cid"]) {
echo ' - <a class=catnav href=catalog.php?cid='.$mas[$j]["parent"].'&sub='.$mas[$j]["cid"].'>'.$mas[$j]["name"].'</a><br>';
} else {
echo ' - <font class=subcat>'.$mas[$j]["name"].'</font><br>';
}
}
}
}
Категория 1
Категория 2
- подкатегория 2.1
- подподкатегория 2.1.1
- подподкатегория 2.1.2
- подкатегория 2.2
Категория 3
Подскажите, пожалуйста, как это реализовать. Просто все это нужно срочно, а я 2 месяца вообще к компу не подходил, ничего в голове собрать не могу (