mysql_query in while-schleife?

  • Themenstarter Themenstarter P_F
  • Beginndatum Beginndatum
P

P_F

hi, habe hier mal irgendwo gelesen, dass ein mysql_query nicht in eine while-schleife gehört ?
aber wie geht das denn anders, schauts euch mal an.
Es geht um ein gaaaaanz eifaches forum, und zwar werden hier die themen in einem forum angezeigt, und zwar mit ner while-schleife, nun muss ich aber die zeilen aus einer anderen tabelle zählen um die anzahl der antworten auf best. themen zu erhalten: ihr werdet es verstehen ...
Code:
<? 
$query = mysql_query("SELECT ID,forumID,von,ueberschrift,datum FROM themen WHERE forumID = '$_GET[forumID]' ORDER by ID DESC"); 
   if (mysql_affected_rows () > 0) 
   { 
      while ($result = mysql_fetch_object($query)) 
      { 
      $antworten = mysql_num_rows(mysql_query("SELECT * FROM antworten WHERE themaID = $result2->ID")); 
          ?> 
                  // Ausgabe wo $antworten verwendet wird 
                <? 
      } 
   } 
?>



wie sollte man das denn anders realisieren
 
ufff, .... hat das was mir db oder sql zu tun?,...


poste am besten mal in der php area, vielleicht findest du dort schneller hilfe ?°?
 
hi, habe hier mal irgendwo gelesen, dass ein mysql_query nicht in eine while-schleife gehört ?

Eine DB Abfrage besteht ja normalerweise aus einer Mysql_query und dann anschliessend eine while Schleife um die Datensätze auszulesen.
Mit der Ausssage die du da gelesen hast, war gemeit, das die Query nicht
in die whileschleife rein gehört in der die Datensätze zu der Query ausgelesen werden.
Wenn du, wie in deinem Fall verschachtelte Abfragen hast muss natürlich die eine Queryabfrage in der while Schleife der anderen sein.
Es sich ja auch zwei verschachtelte where Schleifen.

Kurz gesagt: Entspann dich - alles im Lot :-)
 
hi,

ein kleiner Tipp von meiner Seite: verwende PEAR! ist echt klasse und "bequem".
pear.php.net, von dort besorgst du dir die pear und die db klasse und fügst sie in dein Projekt ein, aber das ist ein anderes Thema.

Deine Syntax ist ok. Wüsste jetzt nicht wie man das anders machen sollte?
du könntest höchsten noch das $antworten auslagern in eine Funktion, welche zudem noch die Zeit und den letzten Antworter zurückgibt.

Greetz
l|N
 
Zurück