Autor Zpráva
Demoniak
Profil
Dobrý večer, splácal jsem si nějaký koď na drobečkovou navigaci ale nějak nemůžu přijít na to, jak hodnoty v array vypsat opačnym směrem ($a[3],$a[2],$a[1],...)

$id=$_GET[id];
$a=array();
                
function navigace($id,$poradi){
  $ip=mysql_query("SELECT * FROM `navigace` WHERE id='$id' LIMIT 1")or die(mysql_error());
  $v=mysql_fetch_array($ip);
                
  // echo $poradi.". ".$v['titulek'];
  $a[$poradi] = $v['titulek'];
                    
  if ($v['id_rodice']!=0) {
                        
    $poradi = $poradi + 1;
    navigace($v['id_rodice'],$poradi);
  }
}
                
navigace($id,1);



Pomůže prosím někdo? Už se s tim šmrdlám 3 dny a nějak na tu drobečkovou navigaci né a né přijít, proto prosím omluvte pokud je to hroznej výmysl
pcmanik
Profil
Demoniak:
Niečo takéto?

for ($i = count($pole); $i>0; $i--) {
   echo $pole[$i];
}
Demoniak
Profil
ano něco takového jsem taky zkoušel, ovšem nevím proč, ale nechce se mi přenést pole $a[] z rekurzivní funkce.

EDIT: nechce se mi totiž zbytečně používat $_SESSION. pokud by to šlo jinak tak tim lépe :)
Someone
Profil
Demoniak:
To co uvádíš nebude fungovat, protože funkce nemůže zapisovat do proměnných mimo její působnost. Jediná možnost jak toho docílit je reference. Jinak dle mého by to šlo celé napsat podstatně lépe.
Demoniak
Profil
Someone:
Určitě by to šlo napsat lépe, jen mě už nenapadá jak ty návody co jsou na internetu, neumim seskládat tak aby to fungovalo.
Zechy
Profil
A přitom existuje funkce array_reverse

http://www.php.net/manual/en/function.array-reverse.php
Demoniak
Profil
Zechy:
Omlouvám se za drzost, ale můžete mi pomoci s tou funkcí array_reverse? nějak mě nenapadá kam jí dosadit, pokud nelze přenážet proměnné mimo působnost funkce.
YoSarin
Profil
Hm, a co kdybys to echo přesunul až za if? :)
Demoniak
Profil
Aha, anebo tak :)
děkuji mnohokrát

nevím proč mě to nenapadlo
peta
Profil
Demoniak: Proc nepouzijes v mysql ORDER BY a patlas to v php?
YoSarin
Profil
Peta: protože ten sql dotaz je uvnitř rekurzivní funkce a vrací pouze jeden řádek, který můžeš řadit dle libosti, ale pořád bude první. A poslední.
Zechy
Profil
YoSarin:
třeba stylem

$promenna_pro_reverse_pole = array_reverse($pole_pro_otoceni);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: