Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klonowanie gałęzi w drzewku - rekurencja?
miedzna
post
Post #1





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witajcie, jest problem, mam drzewko w klasycznym układzie, czyli ID|Name|Parent które mi generuje takie coś:

Książki
|- Kryminał
|-- Kryminał_1
|--- Kryminał_2

i zaszła potrzeba klonowania całych gałęzi, czyli stworzenie drzewka w stylu:

Książki
|- Kryminał
|-- Kryminał_1
|--- Kryminał_2
|
|- Kryminał_klon
|-- Kryminał_1_klon
|--- Kryminał_2_klon

Napisałem funkcję, która mi przelatuje po całej gałęzi i wyciąga wszystkie dzieci dla danego rodzica:

  1. <?php
  2. function Test($id){
  3.  
  4.    $dane = mysql_query("SELECT * FROM tabela WHERE parent = " . $id . " ORDER BY name ASC");
  5.  
  6.    while ($row = mysql_fetch_array($dane)) {
  7.  
  8.        if(isset($row["id"])){
  9.            
  10.            Test($row["id"]);
  11.        }
  12.  
  13.    }
  14.  
  15. }
  16.  
  17. print Test('24');
  18. ?>


i teraz myślę i nie wiem, jak dodać do bazy pobraną gałąź? Myślałem, że można to robić po kolei, czyli dodaję rodzica, za pomocą mysql_insert_id pobieram jego ID i do tego ID dopisuję dziecko, tylko problem polega na tym, że skąd mam wiedzieć (już po pobraniu gałęzi) które dziecko ma być dodawane do którego rodzica, bo zauważcie, że w tabeli wyników trzymam parent dla starej gałęzi, a w przypadku tworzenia nowej, zmienna parent się zmienia.

Ktoś może mnie pokierować na właściwy tor myślenia, bo stanąłem w tym miejscu i nic dalej...

Ten post edytował miedzna 15.02.2009, 00:04:19
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 14:54