Автор Тема: nested sets - соседние элементы  (Прочитано 5656 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн golden-den

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 118
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kosmos13.narod.ru
nested sets - соседние элементы
« : 08 Сентября 2007, 22:52:19 »
есть структура nested sets.
модуль phpDBTree 1.4
При выводе инфы о конкретном элементе дерева иногда полезно  ставить ссылки "Предыдущий" - "Следующий".
Это соседи (level тот же).

Только вот как найти этих соседей?
В начале есть только cid элемента.

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля
nested sets - соседние элементы
« Ответ #1 : 09 Сентября 2007, 13:48:22 »
Цитировать
golden-den:
В начале есть только cid элемента.


Что такое cid - autoincrement ID?

Цитировать
golden-den:
В начале есть только cid элемента.


В начале чего?

Оффлайн golden-den

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 118
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kosmos13.narod.ru
nested sets - соседние элементы
« Ответ #2 : 09 Сентября 2007, 15:18:58 »
html_coder
структура согласно модулю phpDBTree 1.4
(Я думал, может кто-то пользуется)
структура
CREATE TABLE `site` (
  `cid` int(16) unsigned NOT NULL auto_increment,
  `cleft` int(10) unsigned NOT NULL default \'0\',
  `cright` int(10) unsigned NOT NULL default \'0\',
  `clevel` int(10) unsigned NOT NULL default \'0\',
  PRIMARY KEY  (`cid`),
  KEY `cleft` (`cleft`,`cright`,`clevel`)
) TYPE=MyISAM


Короче выспался и сделал за 10 минут

select i.cid, d.title
from site i, site_data d, site p, site cur
where
  p.cleft < cur.cleft and p.cright>cur.cright and p.clevel=cur.clevel-1
  and i.cleft > p.cleft and i.cright < p.cright and i.clevel=p.clevel+1
  and i.cid=d.cid
  and cur.cid=$id
order by i.cleft

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28