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