| 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: 16 let
|
|||
0