Autor | Zpráva | ||
---|---|---|---|
Demoniak Profil |
#1 · Zasláno: 25. 2. 2013, 20:48:14
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 |
#4 · Zasláno: 25. 2. 2013, 21:26:12
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 |
#5 · Zasláno: 25. 2. 2013, 21:33:05
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 |
#6 · Zasláno: 25. 2. 2013, 21:52:04
A přitom existuje funkce array_reverse
http://www.php.net/manual/en/function.array-reverse.php |
||
Demoniak Profil |
#7 · Zasláno: 25. 2. 2013, 22:25:38
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 |
#8 · Zasláno: 26. 2. 2013, 01:17:52
Hm, a co kdybys to echo přesunul až za if? :)
|
||
Demoniak Profil |
#9 · Zasláno: 26. 2. 2013, 01:30:57
Aha, anebo tak :)
děkuji mnohokrát nevím proč mě to nenapadlo |
||
peta Profil |
#10 · Zasláno: 26. 2. 2013, 08:02:03
Demoniak: Proc nepouzijes v mysql ORDER BY a patlas to v php?
|
||
YoSarin Profil |
#11 · Zasláno: 26. 2. 2013, 08:15:06
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 |
#12 · Zasláno: 26. 2. 2013, 20:21:11
YoSarin:
třeba stylem $promenna_pro_reverse_pole = array_reverse($pole_pro_otoceni); |
||
Časová prodleva: 11 let
|
0