Autor | Zpráva | ||
---|---|---|---|
Daviart Profil |
#1 · Zasláno: 3. 11. 2011, 13:46:26 · Upravil/a: Daviart
V uvedeném kódu bych chtěl poradit jak místo "echo($c . ","); // $PoleID" sestavit řetězec z while do $PoleID
function zjistipid ($pID) { $c = $pID; while($c>0){ $d = mysql_query("SELECT id, pid FROM kam_hl_menu WHERE id=".$c." ", $GLOBALS["link"]); while($z = mysql_fetch_array($d)) { $v = $z['pid']; } echo($c . ","); // $PoleID $c = $v; } return $zpID; } $pm = "9"; echo(zjistipid($pm)); // výsledek by měl vyjít například: 9,6,1 ... |
||
Daviart Profil |
#2 · Zasláno: 3. 11. 2011, 14:38:36 · Upravil/a: Daviart
vyřešeno
function zjistipid ($pID) { $c = $pID; while($c>0){ $d = mysql_query("SELECT id, pid FROM kam_hl_menu WHERE id=".$c." ", $GLOBALS["link"]); while($z = mysql_fetch_array($d)) { $v = $z['pid']; } $p[] = ($c); $c = $v; } return implode(',', $p); } |
||
jenikkozak Profil |
#3 · Zasláno: 3. 11. 2011, 15:22:30
Daviart:
„vyřešeno“ Šlo by to trochu zjednodušit: function zjistipid ($c) { $d = mysql_query("SELECT pid FROM kam_hl_menu WHERE id<=".$c." ", $GLOBALS["link"]); while($z = mysql_fetch_array($d)) { $p[] = $z['pid']; } return implode(',', $p); } |
||
Daviart Profil |
#4 · Zasláno: 3. 11. 2011, 15:41:32
jenikkozak:
ale toto my vypíše pouze jediný záznam, já potřebuji aby se dotaz vždy zopakoval, dokud nedojde hodnoty 0. Funkce by měla fungovat tak, že do procesu vstupuje jedna hodnota. v tabulce nalezne kde se nachází v poli ID hodnoto PID a vráti ji, poté nová hodnota z PID nalezne odpovídající ID A to se opakuje dokud nenalezne všechny takto propojené záznamy. proto mám $c = $v; a opakovat dokud while($c>0) určitě by to šlo zapsat lépe |
||
Časová prodleva: 12 let
|
0