Hallo zusammen,
Auf meiner Seite möchte ich meine Artikel und die dazugehörigen Kommentare aus MySQL auslesen lassen. So weit, so funktioniert's.
Problem: Auf der Startseite möchte ich nur die drei neuesten Artikel (und auch nur die drei neuesten Kommentare) ausgeben. Dafür habe ich eine For-Schleife nach der Anleitung aus Quake.php.net gebaut, mit dem Unterschied, dass ich zwei Bedingungen formuliert habe. Ich weiß jetzt nicht, ob's vielleicht daran liegt, jedenfalls klappt es nicht: Zwar gibt PHP auch bei "error_reporting (E_ALL);" keinen Fehler aus, die For-Schleife bricht aber auch nicht nach den ersten drei Kommentaren wie geplant ab. Woran liegt das?
Hier der relevante Code:
<?php
// Daten aus Tabelle für Artikel werden ausgewählt
$sq1 = "SELECT
Titel,
Inhalt,
Autor,
ID,
Datum
FROM
Artikel
ORDER BY
Datum DESC";
$result1 = mysql_query($sq1) OR die(mysql_error());
// Ab hier wird dann die Website zusammengebaut.
echo "<div id="Grundstruktur">\n";
if (mysql_num_rows($result1)) {
for($i=0; $i<2, $row = mysql_fetch_assoc($result1); $i++) {
echo "<div class="Artikel">\n";
echo "<h1>\n";
echo $row["Titel"];
echo "</h1>\n";
echo "<p>\n";
echo $row["Inhalt"];
echo "</p>\n";
echo "<p>\n";
echo $row["Autor"];
echo "</p>\n";
// Ab hier wird der jweilige Kommentarabschnitt eingebaut...
// Daten aus Tabelle für Kommentare werden ausgewählt.
$sq2 = "SELECT
Inhalt,
Autor,
Datum
FROM
kommentare
WHERE
NEWS_ID = '".$row['ID']."'
ORDER BY
Datum DESC";
$result2 = mysql_query($sq2) OR die(mysql_error());
// Daten aus dieser Tabelle werden ausgelesen.
echo "<div class="comments">\n";
echo "<h1>\n";
echo "Letzte Kommentare\n";
echo "</h1>\n";
if (mysql_num_rows($result2)) {
for($j=0; $j<2, $row = mysql_fetch_assoc($result2); $j++) {
echo "<p>\n";
echo $row["Inhalt"];
echo "\n";
echo "<br />\n";
echo $row["Autor"];
echo ", am ";
echo $row["Datum"];
echo "\n";
echo "</p>\n";
}
mysql_data_seek ($result2, 0);
} else {
echo "<p>Leider momentan kein Kommentar vorhanden.</p>\n";
}
?>