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 написал(а):
а что именно не получается? Как делаешь, покажи
_____________
Админы и программисты - люди иного мира.