46356
Aug 21, 2008, updated at Aug 27, 2008 (UTC)
4442
3
0
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 95039
Url: https://administrator.de/contentid/95039
Printed on: April 25, 2024 at 21:04 o'clock
3 Comments
Latest comment
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