id | объект | родитель |
1 | огород | 0 |
2 | теплица | 1 |
3 | огурцы | 2 |
4 | перцы | 2 |
5 | грядки | 1 |
6 | помидоры | 5 |
7 | капуста | 5 |
8 | кролики | 7 |
9 | волки | 8 |
пожалуй хватит =) Суть таблицы: есть какие угодно объекты, и некий указатель иерархии этих объектов в виде указания Id родителя (объекта из этой же таблицы). Иерархия может быть сколько угодно уровневая, нужно гибкое решение по ее отображению, например списками, 0 - указывает что объект находится вверху иерархии и не имеет родителей:
НР, в данном случае должно получиться:
<ul>огород
<li><ul>теплица
<li>огурцы</li>
<li>перцы</li>
</ul>
<li><li>
<ul>грядки
<li>помидоры</li>
<li><ul>капуста
<li>
<ul>кролики
<li>волки</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
визуально
-огород:
-теплица:
-огурцы
-перцы
-грядки:
-помидоры
-капуста:
-кролики:
-волки
и тд, еще раз повторюсь, что вложений может быть сколько угодно и у каждого объекта указывается лишь предыдущий родитель, нужно гибкое оптимальное решение, которое адекватно обработало бы все случаи. Верхних иерархий (т.е. с родителем 0) может быть тоже сколько угодно.
Давайте думать, господа =) Я тоже в деле, естественно =)
Спустя 23 минуты, 3 секунды (31.07.2010 - 17:23) Ice написал(а):
Такое ощущение, что в таблице кой-чего не хватает. Иерархия иерархией, но вот принадлежность к какому-то родителю в одной иерархии хрен установишь: как удостовериться, что кролики - дочь капусты, а не помидоров.
Спустя 6 минут, 12 секунд (31.07.2010 - 17:30) Slays написал(а):
потому что
8 | кролики | 7 |
, а не
8 | кролики | 6 |
а 7 это капуста =)
структура таблицы не критична, если задачу можно более просто решить, используя другую структуру - тоже подойдет =)
8 | кролики | 7 |
, а не
8 | кролики | 6 |
а 7 это капуста =)
структура таблицы не критична, если задачу можно более просто решить, используя другую структуру - тоже подойдет =)
Спустя 1 минута, 10 секунд (31.07.2010 - 17:31) Ice написал(а):
ух... протупил)))
Спустя 1 час, 11 секунд (31.07.2010 - 18:31) KaFe написал(а):
Первое что нужно сделать это определитель родителей для остальных объектов, это можно сделать если задать условие Родитель = 0.Дальше уже сложнее
Но задача решаемая, интригует


Спустя 16 минут, 47 секунд (31.07.2010 - 18:48) Slays написал(а):
можно использовать много где, и в меню и в каталогах товаров )) По-этому и предлагаю нам всем подумать как это сделать =)
Спустя 2 часа, 46 минут, 1 секунда (31.07.2010 - 21:34) KaFe написал(а):
Slays а у тебя самого то идеи есть???
Спустя 17 минут, 25 секунд (31.07.2010 - 21:51) Slays написал(а):
целый день сижу экспериментирую, пока не выходит. Спросил не просто так, думал может кто направит в нужном направлении и общими силами эту идею добьем =)
Моск кипит уже )
Моск кипит уже )
Спустя 9 минут, 7 секунд (31.07.2010 - 22:00) KaFe написал(а):
Slays сегодня попытаюсь сделать, щас только алгоритм придумаю, код выложу.
Спустя 45 минут, 6 секунд (31.07.2010 - 22:45) Invis1ble написал(а):
ИМХО, правильнее было бы так:
<ul>
<li>огород
<ul>
<li>теплица
<ul>
<li>огурцы
<li>перцы
</ul>
</ul>
<ul>
<li>грядки
<ul>
<li>помидоры
<li>капуста
<ul>
<li>кролики
<ul>
<li>волки
</ul>
</ul>
</ul>
</ul>
</ul>
Спустя 25 минут, 52 секунды (31.07.2010 - 23:11) Slays написал(а):
KaFe было бы хорошо, уже столько применений придумал, а решения не идут. Пробовал как-то все загонять в многомерный массив, пока не то =)
Invis1ble это да, но в данном случае не суть, подключайся к основной задаче =)
Invis1ble это да, но в данном случае не суть, подключайся к основной задаче =)

Спустя 5 минут, 53 секунды (31.07.2010 - 23:17) Invis1ble написал(а):
Slays Та я уже и так подключился
. Только пока тоже ничего на ум не приходит...

Спустя 23 минуты, 14 секунд (31.07.2010 - 23:40) KaFe написал(а):
Slays не знаю как ты думал, но у меня сразу решение вышло как только я нарисовал табличку (Если хочешь посмотреть она прикреплена к посту). Я сразу заметил очень интересную вещь, погонял свою серую жидкость и вуаля
<?
$array[] = array(1 , огород , 0);
$array[] = array(2 , теплица , 1 );
$array[] = array(3 , огурцы , 2 );
$array[] = array(4 , перцы , 2 );
$array[] = array(5 , грядки , 1 );
$array[] = array(6 , помидоры , 5 );
$array[] = array(7 , капуста , 5 );
$array[] = array(8 , кролики , 7 );
$array[] = array(9 , волки , 8 );
$array[] = array(10, горох , 2 );
$array[] = array(11, Дом , 0);
$array[] = array(12, Детская, 11);
$array[] = array(13, Игрушки, 12);
//Переделываем массив в таблицу
foreach ($array as $value )
$arr[$value[0]][$value[2]]= $value[1];
get_hierarchy($arr);
function get_hierarchy($array,$x=0, $y = 1)
{
echo "\n".'<ul>'."\n";
for ($y; $y <= count($array); $y++)
{
if ($array[$y][$x])
{
echo '<li>';
echo $array[$y][$x];
if ($array[($y+1)][$y]) get_hierarchy($array,$y,1);
echo '</li>'."\n";
}
}
echo '</ul>'."\n";
}
?>

Спустя 16 минут, 15 секунд (31.07.2010 - 23:57) Invis1ble написал(а):
KaFe Сильно..
Спустя 10 минут, 14 секунд (1.08.2010 - 00:07) KaFe написал(а):
Цитата (Invis1ble @ 31.07.2010 - 20:57) |
KaFe Сильно.. |
К чему это ты???

Спустя 2 минуты, 55 секунд (1.08.2010 - 00:10) Slays написал(а):
KaFe, спасибо большое за проявленный интерес и помощь, да не смог я додумать, признаю =) В голове один винегрет, сам в ближайшее время врятли бы сделал.

Спустя 37 секунд (1.08.2010 - 00:10) Invis1ble написал(а):
KaFe да так, мысли вслух... Просто тоже ломал голову, а ты все так технично разрулил
Спустя 6 минут, 19 секунд (1.08.2010 - 00:17) KaFe написал(а):
Ну это же я
Да и в принципе, мне данный код тоже нужен будет в ближайшее время, так что я старался на благо себя родимого


Спустя 12 часов, 1 минута, 32 секунды (1.08.2010 - 12:18) Slays написал(а):
наткнулся на проблему, если добавить пункт, например так
перестает работать =) Возможно перед выводом нужно производить еще какую-то сортировку
$array[] = array(1 , огород , 0);
$array[] = array(2 , теплица , 1 );
$array[] = array(3 , огурцы , 2 );
$array[] = array(4 , перцы , 2 );
$array[] = array(5 , грядки , 1 );
$array[] = array(6 , помидоры , 5 );
$array[] = array(7 , капуста , 5 );
$array[] = array(8 , кролики , 7 );
$array[] = array(9 , волки , 8 );
$array[] = array(10, горох , 2 );
$array[] = array(11, Дом , 0);
$array[] = array(12, Детская, 11);
$array[] = array(13, Игрушки, 12);
$array[] = array(14, чили, 4);
перестает работать =) Возможно перед выводом нужно производить еще какую-то сортировку
Спустя 51 минута, 20 секунд (1.08.2010 - 13:10) KaFe написал(а):
<?php
foreach ($array as $value )
$arr[$value[0]][$value[2]]= $value[1];
get_hierarchy($arr);
function get_hierarchy($array,$x=0)
{
echo "\n".'<ul>'."\n";
for ($y = 1 ; $y <= count($array); $y++)
{
if ($array[$y][$x])
{
echo '<li>';
echo $array[$y][$x];
get_hierarchy($array,$y);
echo '</li>'."\n";
}
}
echo '</ul>'."\n";
}
?>
А так

Спустя 3 минуты, 58 секунд (1.08.2010 - 13:14) Slays написал(а):
а вот так уже гибко, то что надо =)
Только $y в таком случае в функцию уже не нужно передавать )
Только $y в таком случае в функцию уже не нужно передавать )
Спустя 2 минуты, 21 секунда (1.08.2010 - 13:16) KaFe написал(а):
Slays понял хоть что изменилось-то?
Спустя 7 минут, 54 секунды (1.08.2010 - 13:24) Slays написал(а):
конечно, в первом случае у нас функция останавливалась при несоблюденом условии if ($array[($y+1)][$y]), а теперь работает пока не кончиться массив =)
я пол кода перелопатил чтоб исправить, а оказывается так просто =) не могу я в голове алгоритмы прорабатывать, моя проблема ) свой вариант выложу если получиться, но не уверен пока
я пол кода перелопатил чтоб исправить, а оказывается так просто =) не могу я в голове алгоритмы прорабатывать, моя проблема ) свой вариант выложу если получиться, но не уверен пока
Спустя 17 минут, 40 секунд (1.08.2010 - 13:42) Ineed$ написал(а):
мда...
предлагаю сразу подумать, как при помощи таких вот вывертасов хранить :
- полный путь до выбраного каталога
- родительскую ветку
- всю ветку в которой находится каталог
и сколькими данными для этого надо будет оперировать(id, parent, level и т.п)
предлагаю сразу подумать, как при помощи таких вот вывертасов хранить :
- полный путь до выбраного каталога
- родительскую ветку
- всю ветку в которой находится каталог
и сколькими данными для этого надо будет оперировать(id, parent, level и т.п)
Спустя 8 минут, 26 секунд (1.08.2010 - 13:50) Slays написал(а):
никто не говорил, что это именно для каталогов, но применения есть, так что решение полезно. Выпадающее меню, карта сайта - что сразу приходит в голову, но мне понадобилось для более специфической задачи.
Спустя 11 минут, 2 секунды (1.08.2010 - 14:01) Ineed$ написал(а):
Цитата (Slays @ 1.08.2010 - 10:50) |
применения есть, так что решение полезно |
хочу посмотреть за сколько это решение с рекурсией справится с таблицей в миллион обьектов ) в соотношении с nested sets - разница будет неимоверная
Спустя 3 минуты, 39 секунд (1.08.2010 - 14:05) KaFe написал(а):
Цитата (Slays @ 1.08.2010 - 10:24) |
конечно, в первом случае у нас функция останавливалась при несоблюденом условии if ($array[($y+1)][$y]), а теперь работает пока не кончиться массив =) |
Немножко не правильно, раньше функция проверяла, если в следующей строке таблицы объектов, дочерний объект, если он был то иерархия строилась дальше, но если объекта не было в следующей строке, то иерархия объектов дальше не строилась, следовательно я решил что нужно сканировать все объекты в столбце без разницы есть они или нету их там.
Но данный код нуждается в оптимизации, например нужно определить если у объекта дочерние объекты, если есть производить сканирование дочерних объектов, это будет очень большой прирост производительности и код будет идеальным.
Спустя 8 минут, 32 секунды (1.08.2010 - 14:13) KaFe написал(а):
Цитата |
хочу посмотреть за сколько это решение с рекурсией справится с таблицей в миллион обьектов ) в соотношении с nested sets - разница будет неимоверная |
А я хочу посмотреть как загнутся nested sets при построении таблицы в миллион объектов с большим количеством вложений.
Думайте головой, такие бешеные иерархии человеческий мозг не сможет обрабатывать, зачем нам делать то чем мы не сможем воспользоваться?
P.S: Если оптимизировать данный код то он ни чем не уступит nested sets, а может даже и превзойдет его по производительности, сейчас же даже я вижу что он очень плох, на оптимизацию, но для небольших списков это идеальное решение.
Спустя 34 минуты, 3 секунды (1.08.2010 - 14:47) Slays написал(а):
KaFe попробовал переделать, посмотри на это =)
Теперь пустых <ul> и <li> нету, что скажешь =)
Теперь пустых <ul> и <li> нету, что скажешь =)
foreach ($array as $value ){
$arr[$value[2]][$value[0]]= $value[1]; // во-первых поменял структура массива $arr
}
ksort($arr);
get_hierarchy($arr,count($array));
function get_hierarchy($array,$count,$x=0){
if($array[$x]){
echo '<ul>';
for($i=$x+1;$i<=$count;$i++){
if($array[$x][$i]){
echo '<li>'.$array[$x][$i];
get_hierarchy($array,$count,$i);
echo '</li>';
}
}
echo '</ul>';
}
}
Спустя 40 минут, 26 секунд (1.08.2010 - 15:28) KaFe написал(а):
Slays Плохо сделано, иерархия не строится полностью.
Спустя 15 минут, 40 секунд (1.08.2010 - 15:43) Slays написал(а):
например ? вроде все работает, протестировал очень много вариантов
Спустя 9 минут, 39 секунд (1.08.2010 - 15:53) KaFe написал(а):
Все я оптимизировал код, сейчас он пойдет если даже будет миллионь вариантов :D
Сейчас учтены все особенности многомерных массивов, этот код просто идеален. Готовое решение ;)
Кстати это он сделал
foreach ($array as $value )
$arr[$value[2]][$value[0]]= $value[1];
get_hierarchy($arr,count($arr));
function get_hierarchy($array,$count,$x=0)
{
if ($аrray[$x])
{
echo "\n".'<ul>'."\n";
foreach ($array[$x] as $key => $value)
{
echo '<li>';
echo $аrray[$x][$key];
get_hierarchy($array,$count,$key);
echo '</li>'."\n";
}
echo '</ul>'."\n";
}
}
Сейчас учтены все особенности многомерных массивов, этот код просто идеален. Готовое решение ;)
Кстати это он сделал
Цитата |
* огород o теплица + огурцы + перцы # Чили + горох o грядки + помидоры + капуста # кролики * волки o Охуетник * Дом o Детская |
Спустя 4 минуты, 21 секунда (1.08.2010 - 15:57) Slays написал(а):
KaFe оптимизировал то всеж мой вариант, который также работал =)) Только да, фореч пожалуй разумней будет ) Дело сделано !!!

Спустя 10 минут, 23 секунды (1.08.2010 - 16:08) KaFe написал(а):
Slays ну в принципе да, я оптимизировал и доработал то, что ты доработал изначально в моем коде.
Код все равно изначально придуман мной. Вот такая философия.
Но ты молодец,по началу я думал, что у тебя вообще соображалка не работает
Сейчас мнение изменилось, чуть - чуть
Код все равно изначально придуман мной. Вот такая философия.

Но ты молодец,по началу я думал, что у тебя вообще соображалка не работает


Спустя 4 минуты, 7 секунд (1.08.2010 - 16:12) Slays написал(а):
KaFe я не претендую на авторство =) Все прошло как я и хотел, создавая эту тему, общими усилиями поработали и сделали, очень этому рад =)

Спустя 2 минуты, 49 секунд (1.08.2010 - 16:15) KaFe написал(а):
Все наверно тему можно закрывать, более лучший код вряд ли кто представит.
Хотя я думаю лучше все это завернуть в класс =)
Хотя я думаю лучше все это завернуть в класс =)
Спустя 15 минут, 38 секунд (1.08.2010 - 16:30) Ineed$ написал(а):
Цитата (KaFe @ 1.08.2010 - 11:13) |
Думайте головой |
кто бы говорил

любой квалифицированый программист вам скажет, что ваш подход - ламерский. вы кодер, а не программист
Спустя 5 минут, 28 секунд (1.08.2010 - 16:36) KaFe написал(а):
Ineed$ Покажи мне с**а не ламерский подход, если ты такой умный, жду листинга!
Спустя 2 минуты, 8 секунд (1.08.2010 - 16:38) Ineed$ написал(а):
ты с**а даже при дневном свете в упор под микроскопом не можешь золото от говна отличить, ламер
если таблица правильно организована достаточно написать вот такую функцию
если таблица правильно организована достаточно написать вот такую функцию
// вывод всего каталога в дерево
public function build_tree()
{
if($clsdb->execute("
SELECT *
FROM `tblcats`
WHERE `id_level` > 1
ORDER BY `id_lk`")
) return ($clsdb->fetchall_assoc());
else die('build_tree error');
}
Спустя 7 минут, 38 секунд (1.08.2010 - 16:46) KaFe написал(а):
Цитата (Ineed$ @ 1.08.2010 - 13:38) |
ты с**а даже при дневном свете в упор под микроскопом не можешь золото от говна отличить, ламер |

Зря ты так, зря, ща я корешей позову они все разрулят.




Спустя 2 минуты, 59 секунд (1.08.2010 - 16:49) Ineed$ написал(а):
Цитата (KaFe @ 1.08.2010 - 13:46) |
Зря ты так, зря, ща я корешей позову они все разрулят. ![]() ![]() ![]() ![]() |
зови своих корешей, зови кого хочешь. ты - ламером всёодно останешься и ТОЧКА. и научись разговаривать с людьми, задрот
! |
HardWoman |
! |
FatCat |
Спустя 1 минута, 46 секунд (1.08.2010 - 16:50) KaFe написал(а):
Цитата (Ineed$ @ 1.08.2010 - 13:49) |
зови своих корешей, зови кого хочешь. ты - ламером всёодно останешься и ТОЧКА. |
Ну давай, че ты, че ты, иди сюда на. Ну ка распиши ка, а? Кто я? Обаснуй



Цитата |
и научись разговаривать с людьми |
Одно да потому, кто меня спровоцировал, как ты думаешь???
Цитата |
задрот |
Не правильно, плохая деточка, нельзя так дядей взрослых называть. Меня зовут Дядя Фёдор, а тебя наверно девочка Рита

Прозвучит как бред, но я все еще жду листинг твоего кода, я хочу надеяться, что ты не зря начал эту перепалку.
PS: Все кореша пришли, сейчас и меня в жопу выебут

! |
HardWoman |
Спустя 8 минут, 12 секунд (1.08.2010 - 16:58) HardWoman написал(а):
KaFe
А вы напрасно не обратили внимание на дельное замечание.
предлагаю сразу подумать, как при помощи таких вот вывертасов хранить :
- полный путь до выбраного каталога
- родительскую ветку
- всю ветку в которой находится каталог
и сколькими данными для этого надо будет оперировать(id, parent, level и т.п)
А вы напрасно не обратили внимание на дельное замечание.
предлагаю сразу подумать, как при помощи таких вот вывертасов хранить :
- полный путь до выбраного каталога
- родительскую ветку
- всю ветку в которой находится каталог
и сколькими данными для этого надо будет оперировать(id, parent, level и т.п)
Спустя 7 минут, 23 секунды (1.08.2010 - 17:06) Гость_Kafe написал(а):
HardWoman я понимаю эти замечание,.
Но по-моему они не нужны так как код у нас выполняет всего лишь одно действие, строит иерархию объектов, если бы нам нужно было работать с этой иерархией, то я бы принял эти замечания и доработал код в соответствии с ними. Все вы жалкие убогие людишки
Но по-моему они не нужны так как код у нас выполняет всего лишь одно действие, строит иерархию объектов, если бы нам нужно было работать с этой иерархией, то я бы принял эти замечания и доработал код в соответствии с ними. Все вы жалкие убогие людишки
Спустя 52 секунды (1.08.2010 - 17:07) HardWoman написал(а):
А я еще усложню вам задачку для интереса.
Создаем несколько теплиц, а них еще грядки и кучу перчиков и моркови на них.
А потом ищем все грядки с перчиками и все теплицы в которых они есть.
Что будете делать?
Я рассчитываю на то что вы понимаете, что веду речь о дублировании объектов
Создаем несколько теплиц, а них еще грядки и кучу перчиков и моркови на них.
А потом ищем все грядки с перчиками и все теплицы в которых они есть.
Что будете делать?
Я рассчитываю на то что вы понимаете, что веду речь о дублировании объектов
Спустя 15 минут, 24 секунды (1.08.2010 - 17:22) Slays написал(а):
зачем все усложнять, придумать что угодно можно и усложнить насколько угодно тоже не проблема, в моем же случае стояла задача с которой этот код полностью справляется.
Кому интересно, можно конечно подумать и про всевозможные усложнения и сделать второй андронный коллайдер, но данная тема создавалась не для этого, она полностью себя оправдала и исчерпала.
Кому интересно, можно конечно подумать и про всевозможные усложнения и сделать второй андронный коллайдер, но данная тема создавалась не для этого, она полностью себя оправдала и исчерпала.
Спустя 10 часов, 44 минуты, 55 секунд (2.08.2010 - 04:07) qpayct написал(а):
А то я думаю куда это japanx пропал со своими вопросами, а он оказывается крутым программистом стал. о-хо-хо =) и теперь его зовут просто - Федя ))
Спустя 6 часов, 19 минут, 22 секунды (2.08.2010 - 10:26) Slays написал(а):
Создал тему, чтоб мне помогли решить поставленную задачу, только один человек действительно заинтересовался и потратил свое время, нравится вам решение или нет - это ваше дело, вы все могли предложить свой вариант вместо пустых постов и вырезок запроса непонято откуда. Не хотите, дак и не надо сюда заходить, как куча стервятников налетело чтобы тупо свое гнилое "Я" показать. Хватит задирать свой нос, спуститесь уже на землю... я на этот форум, как и многие, пришел чтобы поднабраться в чем-то опыта, где-то совместными усилиями решить какие-то задачи и посмотреть решения других людей, да и новичкам помочь мне не зазорно. Меряйтесь писюнами в своих темах, мне ваще плевать какие вы программисты, если как люди вы дерьма собачьева не стоите. Всем мир, епт.
KaFe, спасибо еще раз.
KaFe, спасибо еще раз.
Спустя 5 часов, 14 минут, 33 секунды (2.08.2010 - 15:41) igor717 написал(а):
Хочется стать на защиту KaFe. По-моему очень не плохой вариант для меню сайта или карты сайта. Один запрос к базе все остальное - работа с массивом. Другое дело что грубить не стоит...
Спустя 4 минуты, 4 секунды (2.08.2010 - 15:45) Slays написал(а):
Guest Рыдай не рыдай, мне разницы никакой.
Кто задирал нос ? послушать кого ? Помочь пытался только один человек, остальные свысока зашли посмотрели, ухмыльнулись и ушли, ни одного дельного совета по теме, одни пустые необоснованные понты что это гавно-код. Дак покажите как надо, если умные такие, от начал и до конца. Где ошибка, в чем код плохой. Тыкать готовым решением и куском запроса выдранного непонятно откуда и для чего - это и есть совет ? Стояла чотко сформулированная в начале темы задача, задача была решена, вложений с вашей стороны не было никаких. Профессора епт. Минусовать карму с оскорблением это еще веселей, детсад олигофренов.
Кто задирал нос ? послушать кого ? Помочь пытался только один человек, остальные свысока зашли посмотрели, ухмыльнулись и ушли, ни одного дельного совета по теме, одни пустые необоснованные понты что это гавно-код. Дак покажите как надо, если умные такие, от начал и до конца. Где ошибка, в чем код плохой. Тыкать готовым решением и куском запроса выдранного непонятно откуда и для чего - это и есть совет ? Стояла чотко сформулированная в начале темы задача, задача была решена, вложений с вашей стороны не было никаких. Профессора епт. Минусовать карму с оскорблением это еще веселей, детсад олигофренов.
Спустя 9 минут, 13 секунд (2.08.2010 - 15:54) Семён написал(а):
Большой брат смотрит за тобой


Спустя 4 дня, 8 часов, 23 минуты, 12 секунд (7.08.2010 - 00:17) Uri написал(а):
я не профи. и может по чьему то мнению "кодер" но по моему пример который привел Ineed$ и есть ламерский... почита про execute. говорят в следующих версиях вряд ли будет использоваться... по этому функция как мне кажется бесполезна) если не прав, скажите. мне будет интересно узнать ваше мнение
Спустя 9 минут, 42 секунды (7.08.2010 - 00:27) Uri написал(а):
а функция KaFe мне очень помогла)) в сочитании с jquery получилось очень симпотичное древовидное меню)) с множеством вариантов вложенности)) почет и уважение Slays за поднятие этой темы и KaFe за реализацию идеи)) очень полезная вещь получилась)

Спустя 9 часов, 10 минут, 48 секунд (7.08.2010 - 09:38) igor717 написал(а):
Uri, выложи если не жалко исходники css и jquery, а то как раз нужно а у моего максимальную вложенность не обеспечишь (надо переписывать, а переписывать лянота
)

Спустя 16 часов, 44 минуты, 32 секунды (8.08.2010 - 02:22) Ineed$ написал(а):
Если хотите достичь чего то научитесь слушать и слышать, искать и проверять. Никто и не спорит, что функция кафе работает. Проблема в другом - этот подход изначально не правильный, потому что Т.С просил рассмотреть все возможные аспекты данного вопроса со всеэ сторон. Так что из-за своей ограниченности в действии пример кафе малоэффективен о чем вам и сказал.
Яж не просто так наверно советую в таких случаях рекурсию не использовать, а идти провереным путем.
Примеры теперь давать не буду, сами разберетесь кому надо, а то вообще обнаглели. Мало того, что 0 уважения так еще и примеры им подавай.
Яж не просто так наверно советую в таких случаях рекурсию не использовать, а идти провереным путем.
Примеры теперь давать не буду, сами разберетесь кому надо, а то вообще обнаглели. Мало того, что 0 уважения так еще и примеры им подавай.
Спустя 19 часов, 14 минут, 21 секунда (8.08.2010 - 21:37) Uri написал(а):

<script type="text/javascript" src="http://uri-test.ekks.ru/design/jquery/jquery.min.js"></script>
<!-- Древовидное меню -->
<script type="text/javascript" src="http://uri-test.ekks.ru/design/jquery/jquery.cookie.js"></script>
<script type="text/javascript" src="http://uri-test.ekks.ru/design/jquery/jquery.treeview.js"></script>
<script type="text/javascript" src="http://uri-test.ekks.ru/design/jquery/jq.js"></script>
<link rel="stylesheet" href="http://uri-test.ekks.ru/design/jquery/jquery.treeview.css">
function get_hierarchy($array,$count,$x=0)
{
if ($array[$x])
{
echo '<ul class="treeview-black">';
foreach ($array[$x] as $key => $value)
{
echo '<li>';
echo $array[$x][$key];
get_hierarchy($array,$count,$key);
echo '</li>';
}
echo '</ul>';
}
}
echo '<ul id="navigation">
<li class="filetree" ><a href="/" class="noneline">Home</a>';
$categories = mysql_query("SELECT * FROM categories ");
$items = mysql_query("SELECT * FROM subcategories ");
while($category = mysql_fetch_array($categories)){
$array[] = array($category['id'], '<a href="http://'.$_SERVER['HTTP_HOST'].@$GLOBALS['p'].'/cat/'.$category['id'].'/'.$page_str.'">'.$category['category_name'].'</a>', $category['root_category']);
while($item = mysql_fetch_array($items))
{
$array[] = array($item['id'], '<a href="http://'.$_SERVER['HTTP_HOST'].@$GLOBALS['p'].'/cat/'.$item['category'].'/item/'.$item['id'].'/">'.
$item['name'].'</a>', $item['category']);
foreach ($array as $value )$arr[$value[2]][$value[0]]= $value[1];
}
foreach ($array as $value )$arr[$value[2]][$value[0]]= $value[1];
}
get_hierarchy($arr,count($array));
echo '</li></ul>';
Спустя 5 минут (8.08.2010 - 21:42) Uri написал(а):
вот в моем исполнении)) если нужен код к jquery смотрите по ссылкам в <script
а если в css то в <link... это для тех кто не знает)) приличная критика привеДствуется)). к стати... посмотреть как работает можно там же) http://uri-test.ekks.ru/
или подробно http://www.linkexchanger.su/2008/49.html
а если в css то в <link... это для тех кто не знает)) приличная критика привеДствуется)). к стати... посмотреть как работает можно там же) http://uri-test.ekks.ru/
или подробно http://www.linkexchanger.su/2008/49.html
Спустя 17 минут, 43 секунды (8.08.2010 - 22:00) Uri написал(а):
Ineed$ странный ты... по мне думается, ты слишком завышенного мнения о себе... где чувство юмора? и эта принципиальность никому не нужна... умничать можно сколько угодно. только вопрос, будет ли кто нибудь слушать... само собой, есть умные и есть мудрые. только мудрыми не рождаются, это приходит со временем и с определенными усилиями.. так что вот. как то так. борись с собой. иначе, своей смертью ты не умрешь ))) )))))) <=не принимай это близко к сердцу

Спустя 1 час, 33 минуты, 3 секунды (8.08.2010 - 23:33) igor717 написал(а):
Uri, спасибо, я уже впринцепе свой вариант переделал и у меня вертикальное - мне там надо было css подправить. Хотя, разница между горизонтальным и вертикальным, только в стиля. За плагин спасибо, я пользуюсь другим, правда откуда он уже и не вспомню (но если надо могу скинуть).
Спустя 11 минут, 40 секунд (8.08.2010 - 23:44) Uri написал(а):
igor717 давай)) авось пригодится))
Спустя 24 минуты, 40 секунд (9.08.2010 - 00:09) igor717 написал(а):
Uri, я уже сення отрубаюсь, завтра все найду и выложу...
Вот как и обещал.
Вот как и обещал.
Спустя 13 часов, 4 минуты, 42 секунды (9.08.2010 - 13:14) Uri написал(а):
спс)) посмотрим что там))
Спустя 16 минут, 3 секунды (9.08.2010 - 13:30) Uri написал(а):

Спустя 1 минута, 24 секунды (9.08.2010 - 13:31) Uri написал(а):
вот)) может кому то пригадится ))
http://shebeko.com/99-texnik-sozdaniya-men...s-i-jquery.html = 99 техник создания меню для сайта CSS и jQuery
http://shebeko.com/99-texnik-sozdaniya-men...s-i-jquery.html = 99 техник создания меню для сайта CSS и jQuery
Спустя 7 минут, 19 секунд (9.08.2010 - 13:38) igor717 написал(а):
Uri, спасибо много интересного, можно на досуге поэкспериментировать 
А а насчет того понятно, что стили под себя делать надо. Просто сам "аккордеон" вроде ничего там же еще и скорость появления где-то менять можно...

А а насчет того понятно, что стили под себя делать надо. Просто сам "аккордеон" вроде ничего там же еще и скорость появления где-то менять можно...
Спустя 9 минут, 3 секунды (9.08.2010 - 13:47) Uri написал(а):
ага )) только есть момент) в моем меню заголовки длинные. и поручается что их в три строки сжимает)... ну да ладно)) лично для меня это не критерий для горизонтального меню)) тем более что я уже нашел то что мне нужно) сейчас надо победить боевик опера против сессий))))))))))) схватка будет многообещающей)))))))))))))
Спустя 5 минут, 27 секунд (9.08.2010 - 13:53) igor717 написал(а):
Uri, так там же ширину в css можно изменить...
Спустя 9 минут, 37 секунд (9.08.2010 - 14:03) Uri написал(а):
можно) но этого мало)) заголовки очень длинные)) типа => Запчасти к грузоподъемной технике )) человеку которому сайт делаю. на столько пофик на все это
а я хочу портфолио более или мение приличное
а там куда я собираюсь потом устраиваться дизайнеры правят баллом)) и они эстеты)) мне уже довелось с ними работать. кошмар... врагу не пожелаю



Спустя 2 минуты, 55 секунд (9.08.2010 - 14:05) Uri написал(а):

Спустя 5 минут, 18 секунд (9.08.2010 - 14:11) Basili4 написал(а):
ИМХО тред пошел вообще не в то русло и его пора закрыть
Спустя 1 минута, 30 секунд (9.08.2010 - 14:12) Uri написал(а):
Basili4 ты прав)
_____________
если помог, не скупись на карму =)