
46356
21.08.2008, aktualisiert am 27.08.2008
Logischer PHP Fehler?
Guten Abend!
Ich habe hier einen kleinen PHP Script.
Dieser gibt Links aus einer Datenbank nach dem Schema aus:
Wenn ich den Script nun starte, erschein beide 1. Stelle Links: A und B.
Klicke ich auf A erscheint zwar AB aber der ganze B Link fällt weg :S??
Klicke ich aber auf B funktioniert alles...
... ich glaube dass es an der Schleife liegt (dass wenn A durchgespielt wurde; die schleife beendet ist??)
Freue mich auf Antworten,
Alexander
Ich habe hier einen kleinen PHP Script.
Dieser gibt Links aus einer Datenbank nach dem Schema aus:
$question = "SELECT A FROM Links";
$output = mysql_query($question);
while($row = mysql_fetch_object($output))
{
$A = $row->A;
echo ' <a href="?secondlink='.$A.'">'.$A.'</a>';
$secondlink = $HTTP_GET_VARS['secondlink'];
if($secondlink == $A)
{
$question = "SELECT B FROM Links WHERE A = '$secondlink'";
$output = mysql_query($question);
while($row = mysql_fetch_object($output))
{
$B = $row->B;
echo $B;
}
}
}
Wenn ich den Script nun starte, erschein beide 1. Stelle Links: A und B.
Klicke ich auf A erscheint zwar AB aber der ganze B Link fällt weg :S??
Klicke ich aber auf B funktioniert alles...
... ich glaube dass es an der Schleife liegt (dass wenn A durchgespielt wurde; die schleife beendet ist??)
Freue mich auf Antworten,
Alexander
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 95039
Url: https://administrator.de/forum/logischer-php-fehler-95039.html
Ausgedruckt am: 20.04.2025 um 14:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
also irgendwie ist das alles etwas undurchsichtig. Vielleicht "A" und "B" mal mit sprechenden Namen benennen? In der Variablenbenennung liegt aber glaube ich auch der Fehler. Beide Querys schreiben in $output, d.h. die innere Schleife überschreibt die äußere. Bei B macht das nicht, weil A dann schon ausgegeben ist. Bei A führt es dazu, dass B dann nicht mehr in Output steht, also auch nicht ausgegeben wird.
Gruß
Filipp
also irgendwie ist das alles etwas undurchsichtig. Vielleicht "A" und "B" mal mit sprechenden Namen benennen? In der Variablenbenennung liegt aber glaube ich auch der Fehler. Beide Querys schreiben in $output, d.h. die innere Schleife überschreibt die äußere. Bei B macht das nicht, weil A dann schon ausgegeben ist. Bei A führt es dazu, dass B dann nicht mehr in Output steht, also auch nicht ausgegeben wird.
Gruß
Filipp