Autor | Zpráva | ||
---|---|---|---|
dehtak Profil |
Zrdavím zaboha nemohu přijít na to jak vypsat veškerej obsah i s jejich podsložkami.
Ty podsložky mohou mit další podsložky a tak třeba donekonečna. Říká se tomu myslím Subquery. Abych to vysvětlil vezmu příklad třeba menu list který by vypadal třeba takto: MENU 1 POLOZKA 1 V MENU 1 POLOZKA 2 V MENU 1 POLOZKA 1 V POLOZCE 2 V MENU 1 POLOZKA 2 V POLOZCE 2 V MENU 1 POLOZKA 1 V POLOZCE 2 V POLOZCE 2 V MENU 1 MENU 2 POLOZKA 1 V MENU 2 V sloupci _id bude id nadřazené položky . Dejme tomu, menu1 má id=1 a _id=0 tak položka v menu 1 bude mit třeba id=2 a _id=1 No a kdybych to chtěl vypsat z databáze musel bych to napsat takto: $result1=db::query("SELECT * FROM menu WHERE _id='0'"); while ($row1=db::assoc($result1) ){ $result2=db::query("SELECT * FROM menu WHERE _id='".$row1['id']."'"); while ($row2=db::assoc($result2) ){ atd.... } } Myslím , že nejlepší by bylo, vypsat kompetně celou databázy a pak seřadit . $result=db::query("SELECT * FROM menu"); while ($row=db::assoc($result) ){ $menu[]=$row; } function_serad($menu); Neexistuje na to nejaka třída nebo funkce ? |
||
Lamicz Profil |
To je normální stromová struktura, ne? Nebo jsem něco přehlédl? Řeší se to výběrem celého stromu a rekurzivním procházením a tříděním, na netu je kolem toho plno článků, i např. od Jakuba Vrány - traverzování kolem stromu. Doufám, že nepíšu úplnou blbost...
|
||
dehtak Profil |
#3 · Zasláno: 27. 1. 2012, 22:36:16
Lamicz:
jasne ze je to stromova stroktura. Nekdy proste nevim pod jakym slovem hledat. Sem uz z tech vsech jazyku zblblej. Zkusim pohledat a dam vedet. |
||
dehtak Profil |
#4 · Zasláno: 28. 1. 2012, 00:33:04
Lamicz:
Tak uz jsem to nasel . Diky http://stackoverflow.com/questions/7874849/how-to-sort-flat-array-into-multidimensional-tree |
||
Časová prodleva: 12 let
|
0