ISSET
Новичок
Клонирование ветки дерева (дерево Adjacency List)
Использую дерево Adjacency List, то есть ID, PARENT, NAME
И теперь появился вопрос, как можно (и можно ли вообще) склонировать конкретную ветвь дерева? Надо создать точную копию ветки с добавкой на пример - copy к названиям новой ветки. Проблема в том, что надо по очереди создавать родителя, брать его ID и использоват этот ID как PARENT для нового ребёнка.
Пробовал так и никак не выходит. Есть идеи?
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);
P.S. Сорри за ПХП, но по одной строке надо вкидывать?
Использую дерево Adjacency List, то есть ID, PARENT, NAME
И теперь появился вопрос, как можно (и можно ли вообще) склонировать конкретную ветвь дерева? Надо создать точную копию ветки с добавкой на пример - copy к названиям новой ветки. Проблема в том, что надо по очереди создавать родителя, брать его ID и использоват этот ID как PARENT для нового ребёнка.
Пробовал так и никак не выходит. Есть идеи?
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);
P.S. Сорри за ПХП, но по одной строке надо вкидывать?