PHP+MySQL hogyan????
Sziasztok!
Egy olyan kérdésem lenne, hogy hogyan érdemes megoldani azt, ha egy rekurzív algoritmussal adatbázisból kérdezek le szülő-gyerek típusú rekordokat (tetszőleges mélységig). Hogy érthetőbb legyen, valami ilyesmit csinálok:
function rek($id) {
mysql_kapcsolat nyitás és a többi...
eredmény kiírás
$kov_elem_id=lekérdezés
mysql_kapcsolat zárás...
rek($kov_elem_id)
}
rek(első_elem id)
Ehelyett szeretnék valami ilyent, hogy ne kelljen mindig külön kapcsolódni az adatbázishoz:
function rek($id) {
eredmény kiírás
$kov_elem_id=lekérdezés
rek($kov_elem_id)
}
mysql_kapcsolat nyitás és a többi...
rek(első_elem id)
mysql_kapcsolat zárás...
Na mármost a probléma az, hogy a második szintnél elhal a rekurzió, vagyis nem találja a adatbázis kapcsolatot, próbáltam a connect eredményét átadni paraméterként, próbáltam globálisan, mindegyik meghal...
Hogyan érdemes ezt megoldani???
Egy fapados megoldás lehetne, hogy mindent kiszedek egy tömbbe és utánna azzal játszadozom, de ugye akkor meg a webszervert terhelem a kívántnál jobban....
Még annyi, hogy elég sok kb 1000-1500 rekordról van szó... Melyek egymás előzményei, ill következményei...
Pl.: mintha Fibonacci sort tárolnék az adatbázisban... :))
Előre is köszi, Halee
■ Egy olyan kérdésem lenne, hogy hogyan érdemes megoldani azt, ha egy rekurzív algoritmussal adatbázisból kérdezek le szülő-gyerek típusú rekordokat (tetszőleges mélységig). Hogy érthetőbb legyen, valami ilyesmit csinálok:
function rek($id) {
mysql_kapcsolat nyitás és a többi...
eredmény kiírás
$kov_elem_id=lekérdezés
mysql_kapcsolat zárás...
rek($kov_elem_id)
}
rek(első_elem id)
Ehelyett szeretnék valami ilyent, hogy ne kelljen mindig külön kapcsolódni az adatbázishoz:
function rek($id) {
eredmény kiírás
$kov_elem_id=lekérdezés
rek($kov_elem_id)
}
mysql_kapcsolat nyitás és a többi...
rek(első_elem id)
mysql_kapcsolat zárás...
Na mármost a probléma az, hogy a második szintnél elhal a rekurzió, vagyis nem találja a adatbázis kapcsolatot, próbáltam a connect eredményét átadni paraméterként, próbáltam globálisan, mindegyik meghal...
Hogyan érdemes ezt megoldani???
Egy fapados megoldás lehetne, hogy mindent kiszedek egy tömbbe és utánna azzal játszadozom, de ugye akkor meg a webszervert terhelem a kívántnál jobban....
Még annyi, hogy elég sok kb 1000-1500 rekordról van szó... Melyek egymás előzményei, ill következményei...
Pl.: mintha Fibonacci sort tárolnék az adatbázisban... :))
Előre is köszi, Halee
Kapcsolat azonosító
Szerintem az lehet a baj hogy rekurziv hívásoknál nem látható az a változó amiben tárolod.
Ennyit tudok mondani a konkrét kód ismerete nélkül.
Köszi, úgy néz ki