Autor | Zpráva | ||
---|---|---|---|
Michal101 Profil * |
Ahoj,
potreboval by jsem vytvorit stromovou strukturu s pomoci php, mysql. Napadlo me dat kazdemu potomku do jednoho zaznamu id rodice. Mam ale problem s vykreslenim struktury. $GetElementsSQL=mysql_query(" SELECT * FROM prace_strom WHERE strom_rodic LIKE '$promenna' order by strom_typ ASC "); $GetElementsPocet=mysql_num_rows($GetTreeSQL); if ($GetElementsPocet != 0) { while ($GetElements = MySQL_Fetch_Array($GetElementsSQL)) { $GetElementsID=$GetElements["strom_id"]; $GetElementsNA=$GetElements["strom_nazev"]; $GetElementsTY=$GetElements["strom_typ"]; $GetElementsOB=$GetElements["strom_obsah"]; switch ($GetElementsTY) { case "0": // adresar break; case "1": //clanek break; case "2": //anketa break; case "3": //odkaz break; default: echo "Nekde je chyba"; break; } } } tato funkce by mel vypsat prvni level, ale jakmile se budu chtit zanorit tim, ze pri nalezeni adresare zavolam tu fci zniva, tak mi to zobrazi jen vzdy prvni adresar na kazde urovni a nakonec v nejniszim bode clanky ... jinak tabulka: CREATE TABLE `prace_strom` ( `strom_id` int(5) NOT NULL auto_increment, `strom_nazev` varchar(100) NOT NULL, `strom_typ` tinyint(1) NOT NULL, `strom_rodic` int(5) NOT NULL, `strom_obsah` text NOT NULL, `strom_about` text NOT NULL, UNIQUE KEY `strom_id` (`strom_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; nevite nekdo jak to napsat, nebo o nejak lepsim reseni... diky Moderátor Alphard: Vkládej prosím kód mezi značky [pre] a [/pre] (stačí kliknout na ).
|
||
Alphard Profil |
#2 · Zasláno: 1. 7. 2009, 22:57:39
|
||
Michal101 Profil * |
#3 · Zasláno: 2. 7. 2009, 00:01:59
Odkaz
Ohledne traverzovani jsem nasel tento clanek. Ale zda se, ze to je jen obsleh z anglictiny. Bohuzel o php toho moc nevim a ten kod presahuje daleko moje znalosti. Nevite nekdo o funkcnim reseni ? |
||
Alphard Profil |
#4 · Zasláno: 2. 7. 2009, 00:13:40
Odkazované řešení od Jakuba Vrány je funkční a využívá efektivní metodu. Nemyslím si, že najdete něco lepšího, není tam již co doplnit, jsou to kompeltní části kódu.
|
||
Časová prodleva: 15 let
|
0