меню с подкатегорями

Статус
В этой теме нельзя размещать новые ответы.

Фанат

oncle terrible
Команда форума
где.
у тебя.
проверка.
что.
CID переданный через адрес, совпадает с CID выводимой сейчас категории?
 

Onik

Новичок
нету такого
зачем мне проверка когда он всё правильно выводит из бд по категорям?
 

Фанат

oncle terrible
Команда форума
чтобы правильно выводило по подкатегориям, тормоз
 

Onik

Новичок
не хами,
у меня всё правильно выводит !!!
и подкатегории тоже правильно выводятся
 

Onik

Новичок
*****
Уважаемые

но я не получил ответа на свой вопрос(
мой код выводит вот так
1
2
3
при нажатии 1(пишет внизу)
1
2
3
1-1
1-2
1-3
а нужно что бы было вот так при нажатии 1
1
_1-1
_1-2
_1-3
2
3
как это можно сделать?
 

TutanXamoN

Новичок
PHP:
if($CID==????)
{
//сюда засунь кусок отвечающий за подкатегории
}
Прочитай что тебе писали и вместо знаков вопроса засунь туда нужную переменную.

-~{}~ 28.12.07 19:28:

ЗЫ. У тебя два цикла:
PHP:
while(категории_есчё_есть)
{
вывести категорию;
}
while(в_выбранной_категории_есть_подкатегории)
{
вывести подкатегорию;
}
Тебе нужно:
PHP:
while(категории_есчё_есть)
{
вывести категорию;
if(категория_которую_выводим==категория_для_которой_вывести_подкатегории)
{
while(в_выбранной_категории_есть_подкатегории)
{
вывести подкатегорию;
}
}
}
 

kode

never knows best
PHP:
<script>

function showMenu(id){
	if(document.getElementById("category"+id).style.display=="none"){
		document.getElementById("category"+id).style.display="block";
	}else{
		document.getElementById("category"+id).style.display="none";
	}
}

</script>

<?php

//будем считатать что $db_result вернулось от БД
$db_result = array(
array('id'=>1,"parent"=>0,'title'=>'Категория 1','url'=>''),
array('id'=>2,"parent"=>0,'title'=>'Категория 2','url'=>''),
array('id'=>3,"parent"=>0,'title'=>'Категория 3','url'=>''),
array('id'=>4,"parent"=>0,'title'=>'Категория 4','url'=>''),
array('id'=>5,"parent"=>1,'title'=>'Подкатегория 1','url'=>''),
array('id'=>6,"parent"=>1,'title'=>'Подкатегория 2','url'=>'www.yandex.ru'),
array('id'=>7,"parent"=>1,'title'=>'Подкатегория 3','url'=>'www.yandex.ru'),
array('id'=>8,"parent"=>1,'title'=>'Подкатегория 4','url'=>'www.yandex.ru'),
array('id'=>9,"parent"=>2,'title'=>'Подкатегория 1','url'=>'www.yandex.ru'),
array('id'=>10,"parent"=>3,'title'=>'Подкатегория 1','url'=>'www.yandex.ru'),
array('id'=>11,"parent"=>4,'title'=>'Подкатегория 1','url'=>'www.yandex.ru'),
array('id'=>12,"parent"=>5,'title'=>'ПодПодкатегория 1','url'=>'www.yandex.ru'),
array('id'=>13,"parent"=>5,'title'=>'ПодПодкатегория 2','url'=>'www.yandex.ru'),
array('id'=>14,"parent"=>5,'title'=>'ПодПодкатегория 3','url'=>'www.yandex.ru'),
);


//Строим меню
$menu = array();
$link_array = array(); //Массив ссылок на чайлды
foreach ($db_result as $point){
	$point['childs'] = array();
	$link_array[$point['id']] =& $point['childs'];
	if(!$point['parent']){
		$menu[$point['id']] = $point;
	}else{
		$link_array[$point['parent']][$point['id']] = $point;
	}
}


function buildMenu($array,$level=0){
	foreach ($array as $index=>$element){
		echo "<div class='menu'",(!empty($element['childs']))?" onClick='showMenu(\"{$index}\");'>":">",str_repeat("-",$level),(!empty($element['url']))?" <a href='{$element['url']}'>{$element['title']}</a>":$element['title'],"</div>\n";
		if(!empty($element['childs'])){
			echo "<div id='category{$index}' style='display: none;'>\n";
			buildMenu($element['childs'],$level+1);
			echo "</div>\n";
		}
	}
}

buildMenu($menu);

?>
Написал за 15 минут.
 

TutanXamoN

Новичок
kode
Вы серьезно полагаете что человек неспособный поставить один ИФ достанет данные из базы и сформирует массив такого вида?


ЗЫ: Я никого не оскорбляю но сегодня добавил в юмор одну темку - думаю стоит ознакомиццо http://phpclub.ru/talk/showthread.php?s=&threadid=105111&rand=0
 

kode

never knows best
Автор оригинала: TutanXamoN
kode
Вы серьезно полагаете что человек неспособный поставить один ИФ достанет данные из базы и сформирует массив такого вида?


ЗЫ: Я никого не оскорбляю но сегодня добавил в юмор одну темку - думаю стоит ознакомиццо http://phpclub.ru/talk/showthread.php?s=&threadid=105111&rand=0
А в чём сложность?

PHP:
//Будем считать что menu - таблица с полями id, parent, title, url
$db_result = array();
$query_result = mysql_query("SELECT * FROM menu;");

while($row = mysql_fetch_array($query_result)){
$db_result[] = $row;
}
 

Фанат

oncle terrible
Команда форума
это ты у автора спроси - в чем сложность, которая ему за целый день помешала вставить одно условие в скрипт, да ещё и отбиваться руками и ногами от решения.

В общем, ты тут устроил полный оффтопик, так что тема закрывается.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху