Как создать подменю на php?

12
siv1987
На сайте с 02.04.2009
Offline
427
#11
anton000:
Но я ещё раз повторю, мне для реализации совместной работы категорий с выводом определённых новостей.

Это имеет какое-то отношение к построению дерева категорий?

anton000:

В один файл подключается несколько JS скриптов. То есть редактор кода, и оформляемый <select> список. Для того и другого подключаются JS файлы. И ситуация такая если подключаю оформление <select> то перестаёт отображаться редактор.

На такой вопрос вы можете ответить?

Да, телепаты на такой вопрос могут ответить. Попробуйте обратится в телепередачу "битва экстрасенсов".

anton000
На сайте с 10.05.2013
Offline
32
#12
siv1987:
Это имеет какое-то отношение к построению дерева категорий?



Да, телепаты на такой вопрос могут ответить. Попробуйте обратится в телепередачу "битва экстрасенсов".

Если я начну показывать файлы, то mark2011 опять разорётся что типо почему тебе все должны бесплатно помогать)))

ukrdev
На сайте с 15.11.2011
Offline
31
#13

anton000, в данном случае тебе поможет рекурсивная функция, которая соберет дерево.


include "bd.php";
$a = "SELECT * FROM menu";
$b = mysql_query($a);
while($row = mysql_fetch_array($b)) {
$menu_items[] = $row;
}

function build_tree_menu($items, $parent_id = 0)
{
foreach ($items as $item){
if($item['parent'] == $parent_id){
$html.='<li>'
.'<a href="'.$item['title_url'].'">'.$item['title'].'</a>'
.build_tree_menu($items, $item['id'])
.'</li>';
}
}
return !empty($html) ? '<ul>'.$html.'</ul>' : '';
}

echo build_tree_menu($menu_items);
siv1987
На сайте с 02.04.2009
Offline
427
#14
anton000:
Если я начну показывать файлы, то mark2011 опять разорётся что типо почему тебе все должны бесплатно помогать)))

Значит не судьба, и остается обратится к участникам вышеуказанный передаче

vooo
На сайте с 25.08.2011
Offline
83
#15


include "bd.php";

$res = mysql_query("SELECT * FROM `menu` ORDER BY `id` ASC ") or die(mysql_error());
while ($row=mysql_fetch_array($res)) {
$tab.='<тег>$row[title]</тег>';
$res2 = mysql_query("SELECT * FROM `menu` WHERE `parent`=$row[id] ORDER BY `id` ASC ") or die(mysql_error());
while ($row2=mysql_fetch_array($res2)) {
$tab.='<тег>$row2[title]</тег>';
}
}
return $tab;

это конечно костыли, но принцип прост

Станислав
На сайте с 27.12.2009
Offline
254
#16
anton000:
То есть нужно чтобы подменю отображалось, если допустим:
.....
Должно получиться

Главная(основное меню)
Главная1(подменю)
Главная2(подменю)
Главная3(основное меню)

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

Нужно добавить класс .parrent если это не основной раздел.

т.е. что то вроде того


<style>
.parent {margin-left:20px}
</style>
<ul>
<li>Категория</li>
<li class="parent">Подраздел</li>
<li>Категория 2</li>
</ul>

Как и чем у вас формируется вывод списка разделов? Ручками впихиваете или PHP генерит?

Если второе, то делайте проверку


<?php
// делаем запрос в таблицу
// Проверяем если parent не равен 0, то добавляем класс
// Далее уже foreach
foreach($category as $val):
$class = '';
if($val->parent != 0)
{
$class = ' class="parent"';
}
$cat .= '<li' . $class . '>' . $val->name . '</li>';
endforeach;

А быть может я и не правильно понял вас.

Мы там, где рады нас видеть.
ukrdev
На сайте с 15.11.2011
Offline
31
#17
vooo:

include "bd.php";

$res = mysql_query("SELECT * FROM `menu` ORDER BY `id` ASC ") or die(mysql_error());
while ($row=mysql_fetch_array($res)) {
$tab.='<тег>$row[title]</тег>';
$res2 = mysql_query("SELECT * FROM `menu` WHERE `parent`=$row[id] ORDER BY `id` ASC ") or die(mysql_error());
while ($row2=mysql_fetch_array($res2)) {
$tab.='<тег>$row2[title]</тег>';
}
}
return $tab;

это конечно костыли, но принцип прост

Дергать базу по несколько раз - только ради того что бы выстроить дерево? Не надо так делать.

А если у вас будет несколько уровней вложенности и вы не сможете знать сколько именно?!

Mad_Man
На сайте с 10.11.2008
Offline
162
#18
ukrdev:
Дергать базу по несколько раз - только ради того что бы выстроить дерево? Не надо так делать.
А если у вас будет несколько уровней вложенности и вы не сможете знать сколько именно?!

Да вообще без разницы. ТС - последнее нубло, которое так и не научилось гуглить. Любые попытки ему помочь приводят к лишной трате собственной жизни. У этого персонажа нет ни знаний, на опыта, ни способностей к элементарному анализу ситуации. Боюсь, что даже нужду это чудо справляет с разрешения кого-нибудь.

GA
На сайте с 11.06.2013
Offline
2
#19

Ничего не понял

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#20

У ТСа отключили интернет. Он 5 суток ничего не кушал.......Он умер, так и не узнав в какой руке надо держать ложку:D

Подпись))
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий