Mailinglisten-Archive |
Hallo Liste,
folgendes Funktion hängt sich bei mir.
function antworten($antwort) {
global $a, $PHPSESSID, $sql_user_group, $keyword, $field, $mode;
$result = db_query("SELECT * FROM forum WHERE antwort = $antwort and
$sql_user_group") or db_die();;
echo "$antwort";
if ($result) {
while($row = db_fetch_row($result)) {
#$result2 = db_query("SELECT nachname, vorname from users where ID
=
'$row[2]'");# or db_die();
#$row2 = db_fetch_row($result2);
$datum =
substr($row[6],6,2).".".substr($row[6],4,2).".".substr($row[6],0,4)."
".substr($row[6],8,2).".".substr($row[6],10,2);
echo "<tr><td>";
for ($e = 0; $e <= $a; $e++) { echo " \n";
}
$title = htmlspecialchars($row[3]);
echo "<a
href='forum.php?id=$row[0]&action=writetext&PHPSESSID=$PHPSESSID&mode=$mode&page=$page&perpage=$perpage&keyword=$keyword&field=$field'>$title</a></td>";
echo "<td>$row2[0], $row2[1]</td><td>$datum</td></tr>\n";
$a++;
antworten($row[0]);
$a--;
}
}
}
Das ganze ist eine Abfrage aus einer Forums-Tabelle. Das Problem ist
wenn ich
während der 1. Anfrage noch eine weiter Anfrage hinterher schicke,
findet die
while-Schleife kein Ende. Desshalb ist auch die Anfrage aus der Tabelle
"Users" erstmal auskommentiert. Aber da sich die Funktion selbst nochmal
aufruft ist eine 2. Anfrag nötig. Lasse ich die den rekursiven Aufruf
weg und
nehme dafür die Abfrage von der Tabelle "user" rein, läuft die
while-Schleife
ebensfalls ins Endlose. Ich habe die postgresql im Hintergrund laufen,
falls
das weiterhilft. Weiß da jemand einen Rat?
Danke Maik
php::bar PHP Wiki - Listenarchive