Autor | Zpráva | ||
---|---|---|---|
malej Profil |
#1 · Zasláno: 25. 3. 2010, 18:12:28
function fetchMenu($parent = null){ $menu = array(); $q = mysql_query("select * from article_category where vnoreni='".$parent."'")or die(mysql_error()); while($f = mysql_fetch_array($q)){ $menu[$f['id']] = array($f,fetchMenu($f['id'])); } return $menu; } function echoMenuOption(array $menu,$sub=0){ $priority = array(); foreach($menu as $v){ echo "<option value=\"".$v[0]['id']."\">".str_repeat('-',$sub).$v[0]['nazev']; echoMenuOption($v[1],$sub+1); } } Moje otázka zní: Jak ve funkci echoMenuOption nahradit řádek obsahující echo za proměnnou ve které budou výsledky v jednom řádku oddělené pomocí /n a vypsané pomocí return? |
||
Majkl578 Profil |
#2 · Zasláno: 25. 3. 2010, 18:50:51 · Upravil/a: Majkl578
Takhle by to šlo?
function getMenuOption(array $menu, $sub = 0) { $data = ''; $priority = array(); //??? nepoužitá proměnná foreach ($menu as $v) { $data .= '<option value="' . $v[0]['id'] . '">' . str_repeat('-', $sub) . $v[0]['nazev'] . "\n"; $data .= getMenuOption($v[1], $sub + 1); } return $data; } echo getMenuOption(array(...)); |
||
malej Profil |
#3 · Zasláno: 25. 3. 2010, 21:39:15
Majkl578:
Díky, moc mi to pomohlo. Trápil jsem se s tím už od rána a od dokonalosti mi chyběl tento řádek '$data .= getMenuOption($v[1], $sub + 1);'. |
||
SwimX Profil |
#4 · Zasláno: 25. 3. 2010, 22:17:52
malej:
Možná by ti pomohlo i http://dev.mysql.com/tech-resources/articles/hierarchical-data.html řešil jsem to zde http://diskuse.jakpsatweb.cz/?action=vthread&forum=28&topic=107668&page=-1 dá se to pak vrátit přímo od databáze seřazené. |
||
malej Profil |
#5 · Zasláno: 26. 3. 2010, 10:39:36
SwimX:
Nechtěl jsem, aby to bylo moc složité a ani se s tím v tom projektu nepočítá. :) Ale jinak díky za odkazy. |
||
Časová prodleva: 14 let
|
0