mySQL Abfrage "verliert" Variable

Sorry,Du musst in Zeile 71 natürlich $anzahl gegen $ret['anzahl'] austauschen, da ja die Variable $anzahl nicht mehr existiert ;)
 
hallo
Das Ergebnis ist das gleiche wie vorher. Nach dem zweiten Schleifendurchlauf ist der Inhalt der Variable $rubrik leer.

Nur noch mal zum allgemeinen Verständniss für mich.
Wenn ich am Anfang des Scripts eine Variable definiere dann steht sie doch für die Seite zur verfügung. Auch inerhalb von Schleifen. Oder HAb ich das was übersehen?
mfg berlinkw
 
Der Fehler wird in der art und weise liegen wie du deine Fetch_rows macht. Sobald er das erste mal er hier in die ausleseschleife reinläuft:

PHP:
  $anzahl2 = "SELECT rubrik,u_rubrik,bilder1,count(*) AS anzahl FROM floescher WHERE bilder1 <> '' AND rubrik = $rubrik GROUP BY bilder1 ORDER BY id";
  echo 'rubrik1= '.$rubrik.'<br>';
  echo $anzahl2;
  $erg2 = mysql_query($anzahl2);
  while(list($rubrik,$u_rubrik,$bilder1,$anzahl) = mysql_fetch_row($erg2))
  {

liest die while schleife zeile für zeile aus, und sobald das ende der unterquery erreicht ist, gibt mysql_fetch_row() false zurück, über die list() zuweisung übergibst du den wert in ALLE Variablen davor rein.

Verstanden?

Also du musst dringend die Variablen anderst entgegenehmen.

PHP:
  $anzahl2 = "SELECT rubrik,u_rubrik,bilder1,count(*) AS anzahl FROM floescher WHERE bilder1 <> '' AND rubrik = $rubrik GROUP BY bilder1 ORDER BY id";
  echo 'rubrik1= '.$rubrik.'<br>';
  echo $anzahl2;
  $erg2 = mysql_query($anzahl2);
  while($row = mysql_fetch_assoc($erg2))
  { 
    $rubrik = $row['rubrik'];
    $u_rubrik = $row['u_rubrik'];
...

Mach das am besten überall so und nicht per list()
 
Zuletzt bearbeitet:
hallo
so nun läuft es. Super Danke:D
Hab aber noch eine Frage:
So richtig ist mir der Unterschied zwischen
mysql_fetch_object und mysql_fetch_row nicht klar.
Beide erfüllen doch den gleichen zweck. Oder?

mfg berlinkw
 
Ja, es geht nur Darum wie man die Daten weiter verwendet.

Fetch_row() ist die "schnellste" funktion und spucht die Daten einfach so in einem array wieder aus. $row[0] $row[1]

Fetch_assoc liefert ein array in dem es eben $row['id'] $row['bild1'] usw gibt
fetch_object liefert ein Objekt zurück wo du per $row->id $row->bild1 auf die Variablen zugreifst

fetch_array liefert dir eine mischung aus fetch_row und fetch_assoc zurück du hast sowohl $row[1] $row[2] als auch $row['id'] $row['bild1']

Welche du verwendet ist dir überlassen. Wenn man innerhalb von Klassen arbeitet und einfach Werte überschreibt mit den Werten aus der DB ist das Fetch_object sehr nützlich. Meist fährt man aber mit assoc oder row am besten.
 
Zurück