Autor | Zpráva | ||
---|---|---|---|
John332 Profil * |
#1 · Zasláno: 21. 12. 2009, 20:47:36
Dobry den,
snazil jsem se hledat zde na foru, ale konkretni priklad, nebo podobny, ze ktereho byh mohl odvodit muj problem, jsem nenasel. Jde o to, ze mam v databazi takovouto tabulku: a potreboval bych kategore vypsat do takovehoto stromu: Mobilni Telefony - Nokia - Alcatel - Motorola Prislusenstvi - Kabely - Sluchatka Vysilacky - na dalku - detske - na hrani Radia - Retro - Nova HiFi - Velke soustavy - Male sousstavy Jak je videt, tak ID se plni automaticky a je jedinecne.. subcategory je pote "odkaz" na dane ID nadrazene kategorie... kdyz je v UBCATEGORY hodnota 0, tak se jedna o hlavni kategorie (kdyz je tam 1, tak dana podkategorie patri do kategorie, ktera ma ID 1). Podarilo se mi to vypsat tak, ze jsem si udelal vyber z db, naplnil pole, ktera jsem pres while vypsal. Do tohoto cyklu while, jsem "vnoril" jeste jeden vyber z te same tabulky, kde ovsem byla podminka typu: WHERE subcategory=$pole['id']... Prijde mi to ovsem dost neefektivni, mit kvuli takoveto dronosti 2 vybery z databaze.. nejde to vyresit jinym zpusobem prosim? rsim to uz asi 3 hodinky a nejak se mi nedari, budu rad za kazde nasmerovani. Dik moc, Honza |
||
John332 Profil * |
#2 · Zasláno: 21. 12. 2009, 21:02:30
Jeste doplnuji dosavadni kod ktery mi to vypise presne tak, jak pozaduji... ale jak rikam, asi to je dosti neefektivni =o/ snad nekdo buete vedet poradit.
Dekuji, Tom <?php //vypis katgorie $query = mysql_query("SELECT * FROM `".$tt_categories."` WHERE subcategory=0") or die("MySQL chyba"); while ($draw = mysql_fetch_assoc($query)) { $ID = $draw['id']; $Titulek = $draw['title']; echo "$Titulek<br>"; //vypis subkategorie $query2 = mysql_query("SELECT * FROM `".$tt_categories."` WHERE subcategory=$ID") or die("MySQL chyba"); while ($draw2 = mysql_fetch_assoc($query2)) { $Titulek2 = $draw2['title']; echo "- $Titulek2<br>"; } } ?> |
||
Joker Profil |
#3 · Zasláno: 21. 12. 2009, 21:17:07
John332:
Nejdřív se zeptám: Víte naprosto jistě, že nikdy nebudete potřebovat víc než dvě úrovně kategorií (= hlavní kategorie a jednu úroveň podkategorií)? |
||
John332 Profil * |
#4 · Zasláno: 21. 12. 2009, 21:30:03
popravde jiste to nevim, ale prozatim mi to takto staci (apson na 2 mesice chodu webove prezentace, pak se to mozna bude rozsirovat...). Asi je pravda ze bude vhodnejsi si udelat nejakou fci, ktera bude vypisovat i napr 30 podkategorii nez abych to omezoval pouze na dve. :) ale hacek asi bude v tom, ze mi dela problem vypsat i ty dve (kdyz nepocitam ten muj "neelegantni" pocin co jsem uvedl.
|
||
Joker Profil |
#5 · Zasláno: 21. 12. 2009, 21:37:05
John332:
„apson na 2 mesice chodu webove prezentace, pak se to mozna bude rozsirovat“ No to je lepší to rovnou udělat pořádně, ne? :-) Nastudujte si: http://interval.cz/clanky/metody-ukladani-stromovych-dat-v-relacnich-databazich/ |
||
John332 Profil * |
#6 · Zasláno: 21. 12. 2009, 21:45:01
to je pravda :) ok diky za odkaz, mrknu se na to ;)
|
||
Časová prodleva: 14 let
|
0