Autor | Zpráva | ||
---|---|---|---|
Charlie Profil |
#1 · Zasláno: 10. 4. 2005, 17:39:59
Ahoj lidi, právě řeším takový preoblémek. Dělám web o e-learningu. Ve scriptu generuji seznam kategorií s neomezeným počtem podkategorií pomocí rekuzre. Využívám při tom id rodičovské kategorie.
Součástí stránek jsou i kurzy a u každého chci zobrazit jeho kategorii, respektive úplnou cestu ke kategorii. A to je ten můj problémek, potřebuju poradit, jak na to. Pro lepší představu uvádím příklad. Mám pole kategorií, které načítám z databáze, print_r($kategorie) vyoíše toto: Array ( [0] => Array ( [0] => Array ( [category_id] => 4 [category_name] => Dentists [category_seo_name] => dentists [category_parent_id] => 0 ) [1] => Array ( [category_id] => 1 [category_name] => Surgery [category_seo_name] => surgery [category_parent_id] => 0 ) ) [1] => Array ( [0] => Array ( [category_id] => 2 [category_name] => Spinal Surgery [category_seo_name] => spinal-surgery [category_parent_id] => 1 ) ) ) Teď jenom potřebuju napsat funkci s rekurzí, která mi zobrazí cestu, např: Pharmacy >>Surgery >> Spinal Surgery Díky za každý tip, Charlie |
||
Charlie Profil |
#2 · Zasláno: 10. 4. 2005, 18:53:25
Svůj problém jsem již vyřešil, samozřejmě píšu jak. Nejdřív jsem si trochu upravil pole tak, aby v $kategorie[$id_kategorie] byly vsechny informace o kategorii. Omlouvam se za pouziti jinych promennych:
echo substr(generate_tree($categories,"2"),0,-6); function generate_tree($categories,$id,$spojovatko=" > ",$text="") { echo $temp; if (!is_array($categories[$id])) { return ''; } $category = $categories[$id]; print_r($category); if ($category['category_parent_id'] == "0") { return $category['category_name'].$spojovatko.$text; } else { return generate_tree($categories,$category['category_parent_id'],$spojovatko, $category['category_name'].$spojovatko.$text); } } |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0