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-Schleife hängt sich auf################## 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