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