2 While Bedinungen in einer Schleife?

styler2go

Erfahrenes Mitglied
Hallo.

Ich habe ein Problem in PHP:
und zwar möchte ich eine Tabelle machen, in der 2 Verschiedene MySQL
Daten angezeigt werden.
Was ich brauche ist etwas in der Art:
PHP:
while ($vis = mysql_fetch_array($sql) && $new = mysql_fetch_array($sql1))
{
echo '<tr><td>'.$vis['erste Angabe'].'</td><td>'.$new['zweite Angabe'].'</td></tr>';
}

Der Code wie ich ihn geschrieben habe gibt folgenden Fehler:
Code:
Warning: mysql_fetch_array():
supplied argument is not a valid MySQL result resource in X-X-X\index.php on line 15

Könnt ihr mir da weiterhelfen wie ich so etwas zu stande bekomme?
Gruß Styler2go
 
Hi,

probiers mal so:

PHP:
do {
  $vis = mysql_fetch_array($sql);
  $new = mysql_fetch_array($sql1);

  $beide = ($vis != "") && ($new != "");
  
  if($beide)
    echo '<tr><td>' . $vis['erste Angabe'] . '</td><td>' . $new['zweite Angabe'] . '</td></tr>';
  else
    break;
}
while (true);

Gruß
BK
 
Zuletzt bearbeitet:
Hmm es kommt jetzt
Parse error: parse error, expecting `T_WHILE' in D:\Server\htdocs\chat\index.php on line 32

Habe deinen code wie folgt geändert:

PHP:
do {
  $vis = mysql_fetch_array($sql);
  $new = mysql_fetch_array($sql1);

  $beide = ($vis != "") && ($new != "");
  
  if($beide) {
>>AUSGABE<<
} else {
    break;
}
while (true) 
echo '<tr><td colspan="2">'.mysql_num_rows($sql2).'</td></tr></table>';
} include('include/footer.php');


//EDIT

Habe fehler gefunden (bisschen zu schnell geposted...)

Richtig:
PHP:
do {
  $vis = mysql_fetch_array($sql);
  $new = mysql_fetch_array($sql1);

  $beide = ($vis != "") && ($new != "");
  
  if($beide) {
>>AUSGABE<<
} else {
    break;
} }
while (true) ;
echo '<tr><td colspan="2">'.mysql_num_rows($sql2).'</td></tr></table>';
} include('include/footer.php');

ALlerdings zählt er jetzt wieder nur eine Zeile aus d.h. er macht dieses 'do' nur einmal obwohl er es 3 mal machen müsste.
 
Zuletzt bearbeitet:
hehe ja habe ich selbst bemerkt..
hatte zu schnell geposted...
guck in meinem editierten Thread oben bitte...

''Allerdings zählt er jetzt wieder nur eine Zeile aus d.h. er macht dieses 'do' nur einmal obwohl er es 3 mal machen müsste.''
 
Zuletzt bearbeitet:
Hi, ich nochmal.

Also ich habe bis jetzt keine möglichkeit gefunden wie ich es machen könnte, deshalb wollte ich diesen Thread nochmal nach oben pushen (ich glaube auch Bratkartoffel dachte es geht bei mir...) .

Wie oben beschrieben zeigt er bei der Lösung von Bratkartoffel nur den ersten Eintrag an.

Hoffe mir kann jemand nochmals weiterhelfen...

Gruß Styler2go
 
Code:
Warning: mysql_fetch_array():
supplied argument is not a valid MySQL result resource in X-X-X\index.php on line 15
Ich bezweifel dass das an der while-Schleife liegt, denn das sollte so, wie du es in deinem ersten Beitrag stehen hast, ohne Probleme funktionieren.
Ich denke eher das dein Query falsch ist. Hast du das überprüft, bzw. dir dessen Ergebnisse mal mit var_dump() ausgeben lassen?
 
Oha... Wollte eben mal die MySQL Abfragen und alles hier anzeigen da ist mir der Fehler aufgefallen:

In der do (while) schleife war noch eine mysql abfrage die ebenfalls auf $sql1
geschrieben wurde.. dadurch wurde das natürlich abgebrochen...


Danke an alle Hilfe & Problem gelöst.
 
Zurück