[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ссылки в меню
divine266
Добрый вечер...возник такой вопрос...есть код меню

while($res = mysql_fetch_assoc($q)){
$array[] = array($res['id'], '<a href=\''.$res['cat_link'].'\'>'.$res['cat_name'].'</a>', $res['parent']);
}

foreach ($array as $value ) {
$arr[$value[2]][$value[0]]= $value[1];
}
get_hierarchy($arr,count($arr));

function get_hierarchy($array,$count,$x=0)
{
if ($array[$x])
{
echo "\n".'<ul>'."\n";
foreach ($array[$x] as $key => $value)
{
echo '<li>';
echo $array[$x][$key];
get_hierarchy($array,$count,$key);
echo '</li>'."\n";
}
echo '</ul>'."\n";
}
}


выводится меню такого вида

<a href="ogorod">огород</a>
-<a href="pomidori">помидоры</a>
-<a href="kapysta">капуста</a>

а нужно
<a href="ogorod">огород</a>
-<a href="ogorod/pomidori">помидоры</a>
-<a href="ogorod/kapysta">капуста</a>

помогите пожалуйста что то никак не додумаю((



Спустя 1 час, 5 секунд (19.12.2010 - 01:46) ИНСИ написал(а):
divine266 капец :) чтобы вывести меню, столько всего надо сделать, попробуй так:
echo '<ul>';
while($res = mysql_fetch_assoc($q)){
if($res['cat_link'] != 'ogorod') echo '<li><a href="ogorod/'.$res['cat_link'].'">'.$res['cat_name'].'</a></li>';
else echo '<li><a href="ogorod">'.$res['cat_name'].'</a></li>';
}
echo '</ul>';

Спустя 10 часов, 54 минуты, 4 секунды (19.12.2010 - 12:40) divine266 написал(а):
так огород берется из меню высшего по уровню...не в ручную..

Спустя 11 минут, 15 секунд (19.12.2010 - 12:52) inpost написал(а):
ты структуру покажи, хотя бы массива

Спустя 6 минут, 13 секунд (19.12.2010 - 12:58) divine266 написал(а):
Array
(
[
0] => Array
(
[
1] => Программирование
[2] => Раскрутка
)

[
1] => Array
(
[
3] => PHP
[4] => C#
)

[
2] => Array
(
[
5] => SEO
[6] => SMO
)

)

Спустя 34 минуты, 2 секунды (19.12.2010 - 13:32) divine266 написал(а):
получается нужно взять ссылку из этого и предыдущего...а как это сделать(

Спустя 54 минуты, 17 секунд (19.12.2010 - 14:26) linker написал(а):
Совет, меняй структуру массива и делай банальнейшее дерево. Все вы общаетесь с компьютером и знаете как организована файловая система с папками и файлами - дерево и нечего мудрить, когда уже все придумано и лежит перед глазами.

Спустя 16 минут, 35 секунд (19.12.2010 - 14:43) divine266 написал(а):
можешь пожалуйста пример массива показать?

Спустя 4 минуты, 10 секунд (19.12.2010 - 14:47) linker написал(а):
Вот так
Array
(
[0] => Программирование
(
[0] => PHP
[1] => C#
)
[1] => Раскрутка
(
[0] => SEO
[1] => SMO
)

)
должно быть в идеале. Как видишь легко сделать большую вложенность и вообще понятно прямо так, что и к чему относится.

Спустя 18 минут, 20 секунд (19.12.2010 - 15:05) divine266 написал(а):
2 уровня у меняполучается сделать...а вот 3 я не могу впхнуть никак(

Спустя 58 минут (19.12.2010 - 16:03) inpost написал(а):
а что именно не получается? Как делаешь, покажи


_____________
Админы и программисты - люди иного мира.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.