mbr: while in while

Beitrag lesen

Hallo Reyn

Include("connect.inc.php");

$abfrage = "SELECT * FROM seite_kategorie";
$ergebnis = mysql_query($abfrage, $verbindung);

an dieser Stelle wäre es gut, wenn du mehr Fehlerbehandlung treiben würdest:

  
if($ergebnis !== false) {  
  //do something  
} else {  
  //error do whatever you like, for example report the error  
  echo 'Fehler bei der Datenbankabfrage ' . mysql_error() . '<br/>';  
}  

while($kategorie = mysql_fetch_object($ergebnis))
{
  $abfrage = "SELECT * FROM seite WHERE kategorie = '$kategorie->name'";
  $ergebnis = mysql_query($abfrage, $verbindung);

und hier liegt IMHO dein eigentliches Problem: du überschreibst $ergebnis. Nenne die Variable innerhalb der Schleife anders und alles wird gut (Vorschlag: nenn sie doch einfach $ergebnisKategorie ...) Ich würde auch $abfrage umbenennen, aber das ist nicht zwingend nötig, weil er die erste Abfrage ja schon ausgeführt hat, aber schöner wäre es Meiner Meinung nach schon. Ach ja: Falls du das tust, vergiss nicht, des auch bei mysql_query() zu berücksichtigen.

  
$abfrageKategorie = "SELECT * FROM seite WHERE kategorie = '$kategorie->name'";  
$ergebnisKategorie = mysql_query($abfrageKategorie, $verbindung);  

ich meine: hier -----------------^
Hab sowas selbst schon ab und zu vegessen (Code per Copy and Paste übernommen und übeall geändert, aber im mysql_query() noch die falsche Anfrage stehen gehabt), ist ziemlich ärgerlich.

while($row = mysql_fetch_object($ergebnis))
  {
  }
}

und endschuldigung für Doppelposting, hab zu schneller finder :)

Doppelposting? "finder"?

liebe Grüße mbr