Категория1
+Страница1
+Страница2
+Страница3
++Пункт страницы3
++Пункт2 страницы3
++Пункт3 страницы3
Деревья Nested Sets - перенос элементов
Код:
Нужно "+Страница3" со всеми вложеными объектами перенести выше:
Код:
Категория1
+Страница1
+Страница3
++Пункт страницы3
++Пункт2 страницы3
++Пункт3 страницы3
+Страница2
+Страница1
+Страница3
++Пункт страницы3
++Пункт2 страницы3
++Пункт3 страницы3
+Страница2
Причем, предполагается вероятность того что "+Страница1" и "+Страница2" тоже будут иметь вложенные элементы. Что приходится учитывать. Есть много класов для работы с деревьями, но перенос вверх-вниз есть увы не везде. Мне такие не попались(.
Поиск рулит, учись пользоваться им.
Тогда, алгоритм собственно простой(в твоем случае):
1. берем текущий индекс (с "+");
2. ищем индекс следующей страницы (до "+");
3. от индекса текущего, до следующей страницы сохраняем в переменныую Хъ, и затираем.
4. ищем индекс предидущей страницы (с "+");
5. вставлем туда данные из переменной Хъ.
Это в принципе общая картина, которая в разных случаях показывется(и реализуется) по разному.
Тинго.
http://webscript.ru/stories/04/09/01/8197045 - читал. Но если честно не просек логику. Там описывается несколько другой тип перемещения.
Я использую БД.