не знаю, все удобно и все охуенно
Это как предлагать на работу ездить на автомобиле (adj. list) и на вертолете (nested), а materialized path - это судно на воздушной подушкеСпустя 32 сек.типа есть такой вариант, только нахуя не понятно, когда есть более удобный транспорт
Форум → Программирование → PHP для идиотов → Деревья в Mysql или хз
Деревья в Mysql или хз
Страницы: ← Предыдущая страница • Следующая страница →
-
22 августа 2009 г. 18:53, спустя 1 минуту 6 секунд
все умрут, а я изумруд -
22 августа 2009 г. 18:56, спустя 3 минуты 1 секунду
md5, я же про себя говорил, вот тебе видмо нравиться этот вариант, вот и все )Спустя 59 сек.
а ты его пропиарь сейчас, расскажи какой он удобный и как ты его используешь в своих проектах
материализованные пути никто так и не советует..
можешь даже написать статью в блоге у себя, всем будет интересноhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
22 августа 2009 г. 18:58, спустя 1 минуту 59 секунд
спасибо, а можно мне сегодня немного шампанского? :)
md5, я же про себя говорил, вот тебе видмо нравиться этот вариант, вот и все )Спустя 59 сек.
а ты его пропиарь сейчас, расскажи какой он удобный и как ты его используешь в своих проектах
материализованные пути никто так и не советует..
можешь даже написать статью в блоге у себя, всем будет интересновсе умрут, а я изумруд -
22 августа 2009 г. 18:59, спустя 1 минуту 15 секунд
материализованные пути никто так и не советует..
кстати удобно и легко, токо кажется, что это решение "в лоб" -
22 августа 2009 г. 19:07, спустя 7 минут 53 секунды
http://phpclub.ru/detail/article/db_tree я тупой или это сложно?
Nested Sets - да это шикарная штука.
Это и впрямь не просто- не сцы - и к черту тех кто знает как это работает и даже ПОНИМАЕТ это!
Не комплексуй! Я например эту дрянь не понимал, не понимаю и понимать не собираюсь.
Оптимизированные выборки древовидных данных и пересчеты ключей - это задача математиков и задрот.
Я вижу мир программирования видимо иначе - я не хочу разбираться в том, что сделано для меня если этот черный ящик отлажен без моего участия высококвалифицированным программистом, а не сделан банальным сайтоклепателем типа меня, например.
По опыту программистов руби - могу сказать - что стабильный плагин для работы с Nested Sets появился только через 3-4 года после появления платформы - что говорит о не банальности данной задачи.
Вот эволюция реализации nested_set на руби:
Обычный
nested_set
http://github.com/rails/acts_as_nested_set/tree/master
Улучшенный
better_nested_set
http://agilewebdevelopment.com/plugins/betternestedset
http://github.com/chris/better_nested_set/tree/master
Превосходный
awesome_nested_set
http://github.com/collectiveidea/awesome_nested_set/tree/master
А как толково с ним работать - и вовсе знают совсем не многие. Хотя интерфейсы к нему очень простые.move_to_root - переместить узел в корень
move_to_child_of(node) - сделать узел дочерним к заданному
move_to_right_of(node) - сделать узел следующим за указанным
move_to_left_of(node) - сделать узел предыдущим к указанному
move_left - поднять вверх
move_right - опустить вниз
left_sibling - предыдущий сосед
right_sibling - следующий сосед
move_possible?(target) - можно ли переместить к указанному узлу
ancestors - все родители
children - все дочерние на 1 уровень (в чистом виде (Возвращает массив) только в консоли)
children.count.zero?
children.each { |child| child.id }
descendants - все дочерние и их дочерние
Для него даже не существует единой функции отрисовки дерева - мне пришлось писать свой вариант хелпера (функции-помошника для отрисовки дерева в html).
Если сможешь найти аналог уже готового алгоритма - как здесь:
http://github.com/collectiveidea/awesome_nested_set/blob/0c2354909ce211909cbde555fd3cf1715b41201e/lib/awesome_nested_set.rb
То я тебя поздравляю.
Это кажется должно было быть реализовано в Симфони для PHP.Рубист с большой буквы Г. Серый кардинал кулинарного блога open-cook.ru -
22 августа 2009 г. 19:09, спустя 1 минуту 48 секунд
http://phpclub.ru/detail/article/db_tree я тупой или это сложно?
nested sets - это достаточно сложно для человека, который не имел с ним дело, я рекомендую тебе использовать сейчас adjacency list, а если дальше станет интересно или захочется чего-то большего, то изучи nested sets
http://phpclub.ru/detail/article/db_tree помоему это даже легче,только пока понятия не имею как это вместе с http://dev.e-taller.net/dbtree/ этими классами в моем скрипте использовать… Мне всего то нужно создавать категории и разделы и ссылаться на них их меню. -
22 августа 2009 г. 19:14, спустя 5 минут 19 секунд
Кстати руби кодеры шутят, что ждут скорого выхода (соблюдая очередность)
global_nested_set
solar_system_nested_set
galaxy_nested_set
universal_nested_set
=)Рубист с большой буквы Г. Серый кардинал кулинарного блога open-cook.ru -
22 августа 2009 г. 19:15, спустя 1 минуту 6 секунд
Ну создал раздел , в базе выглядит так
id | title | link
————–
1 | Первая категория | first
теперь выводим меню типо такого$sql = mysql_query("SELECT * FROM categories");
while ($out = mysql_fetch_array($sql) {
echo '<li><a href="http:site.ru/categories/'. $out['link'] .'">'. $out['title'] .'</a></li>';
} -
22 августа 2009 г. 19:23, спустя 7 минут 24 секунды
code9, слушай, по простому - тебе надо хранить ид_родителя и ид_потомка, все! Не может быть что nested sets был проще, он нужен для ускорения выборки, но как доходит дело до перемещения структур по дереву - то это тормоз еще тот.id | pid | title
0 | 0 | Корень
1 | 0 | Категория 1
2 | 0 | Категория 2
3 | 0 | Категория 3
4 | 2 | Подкатегория 1 - категории 2
5 | 0 | Категория 4
6 | 3 | Подкатегория 1 - категории 3
7 | 3 | Подкатегория 2 - категории 3Спустя 159 сек.Еще пример накатал:
id | pid | title
1 | 0 | Мальчики
2 | 0 | Девочки
3 | 1 | Вася Пупкин
4 | 2 | Маша Дудкина
5 | 1 | Владиславы
6 | 5 | Владислав Власов
7 | 5 | Владислав Борисовhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
-
22 августа 2009 г. 19:33, спустя 7 минут 4 секунды
adw0rd, Владислав Борисов
должен иметь двух предков)) Борисов и Владиславов)) а еще Имя -
22 августа 2009 г. 19:33, спустя 28 секунд
Ну создал раздел , в базе выглядит так
id | title | link
————–
1 | Первая категория | first
теперь выводим меню типо такого$sql = mysql_query("SELECT * FROM categories");
while ($out = mysql_fetch_array($sql) {
echo '<li><a href="http:site.ru/categories/'. $out['link'] .'">'. $out['title'] .'</a></li>';
}
Все проясняется,правда очень медленно…Дело в том,что я таблицы связанные между собой еще не делал.
А куда ссылка ведет? Я думаю нужно создать таблу content которая к примеру содержит статьи…И при переходе по ссылке мне должны выдаваться статьи соответствуюшей категории.И как это осуществить… -
-
22 августа 2009 г. 22:17, спустя 2 часа 37 минут 5 секунд
а я вспоминаю как деревья рисовал рекурсивными sql =)
пиздеЦ! <===== тот редкий случай, когда я ругаюсь матом в сети. Всем запомнить!!! =))))Рубист с большой буквы Г. Серый кардинал кулинарного блога open-cook.ru -
22 августа 2009 г. 22:21, спустя 4 минуты 35 секунд
я заметил что у тебя своеобразный стиль оформления текста постов… типа "<=====" или например ты не цитируешь через
а я вспоминаю как деревья рисовал рекурсивными sql =)
пиздеЦ! <===== тот редкий случай, когда я ругаюсь матом в сети. Всем запомнить!!! =))))
а выделяешь цитату жирным курсивомhttps://smappi.org/ - платформа по созданию API на все случаи жизни
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!