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

  • Автор темы Автор темы Onik
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.
где.
у тебя.
проверка.
что.
CID переданный через адрес, совпадает с CID выводимой сейчас категории?
 
нету такого
зачем мне проверка когда он всё правильно выводит из бд по категорям?
 
чтобы правильно выводило по подкатегориям, тормоз
 
не хами,
у меня всё правильно выводит !!!
и подкатегории тоже правильно выводятся
 
*****
Уважаемые

но я не получил ответа на свой вопрос(
мой код выводит вот так
1
2
3
при нажатии 1(пишет внизу)
1
2
3
1-1
1-2
1-3
а нужно что бы было вот так при нажатии 1
1
_1-1
_1-2
_1-3
2
3
как это можно сделать?
 
PHP:
if($CID==????)
{
//сюда засунь кусок отвечающий за подкатегории
}

Прочитай что тебе писали и вместо знаков вопроса засунь туда нужную переменную.

-~{}~ 28.12.07 19:28:

ЗЫ. У тебя два цикла:
PHP:
while(категории_есчё_есть)
{
вывести категорию;
}
while(в_выбранной_категории_есть_подкатегории)
{
вывести подкатегорию;
}
Тебе нужно:
PHP:
while(категории_есчё_есть)
{
вывести категорию;
if(категория_которую_выводим==категория_для_которой_вывести_подкатегории)
{
while(в_выбранной_категории_есть_подкатегории)
{
вывести подкатегорию;
}
}
}
 
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 минут.
 
kode
Вы серьезно полагаете что человек неспособный поставить один ИФ достанет данные из базы и сформирует массив такого вида?


ЗЫ: Я никого не оскорбляю но сегодня добавил в юмор одну темку - думаю стоит ознакомиццо http://phpclub.ru/talk/showthread.php?s=&threadid=105111&rand=0
 
Автор оригинала: 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;
}
 
это ты у автора спроси - в чем сложность, которая ему за целый день помешала вставить одно условие в скрипт, да ещё и отбиваться руками и ногами от решения.

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