Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2009, 16:02   #1
ISSET
Новичок
Джуниор
 
Регистрация: 28.05.2009
Сообщений: 1
По умолчанию Клонирование ветки дерева (дерево Adjacency List)

Использую дерево Adjacency List, то есть ID, PARENT, NAME

И теперь появился вопрос, как можно (и можно ли вообще) склонировать конкретную ветвь дерева? Надо создать точную копию ветки с добавкой на пример - copy к названиям новой ветки. Проблема в том, что надо по очереди создавать родителя, брать его ID и использоват этот ID как PARENT для нового ребёнка.

Пробовал так и никак не выходит. Есть идеи?

PHP код:
function Klonowanie($ParentId){

$DaneRodzica mysql_fetch_array(mysql_query("SELECT pid, name FROM tp WHERE id = " $ParentId));

$KlonRodzica mysql_query("INSERT INTO tp VALUES (NULL, ".$DaneRodzica[0].", '".$DaneRodzica[1]."-klonR')");

$IdNowegoRodzica mysql_insert_id();

$DzieciRodzica mysql_query("SELECT * FROM tp WHERE pid = " $ParentId " ORDER BY name ASC");


while (
$row mysql_fetch_array($DzieciRodzica)) {

$klonDzieci mysql_query("INSERT INTO tp VALUES (NULL, ".$IdNowegoRodzica.", '".$row["name"]."-klonD')");

Klonowanie($row["id"]);
}
}


print 
Klonowanie(1); 
ISSET вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование ветки дерева r00xus БД в Delphi 1 27.05.2009 17:21
Выбрать все элементы из ветки дерева iankov SQL, базы данных 5 28.04.2009 09:22
Одинаковые ветки в DBTreeView Andreych74 БД в Delphi 4 19.08.2008 15:38
изменение безопасности на ветки реестра RIPPER Безопасность, Шифрование 3 22.11.2006 17:01