Autor Zpráva
Daviart
Profil
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
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
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
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

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:

0