Hi.
Ich habe folgendes Problem.
Ich habe ein News Script, welches aus 3 Tabellen besteht.
1) News
2) authoren
3) icons
Die Informationen des postings stammen alle aus der Tabelle 'News'
In dieser Tabelle sind zwei Felder, die eine ID ausgeben (authoren_id und icon_id)
Nun habe ich diese Schleife um die Datensätze der News Datenbank auszugeben
Da ich sowohl für die Authoren als auch für die Icons ja nur die IDs habe, muss ich beides nochmal mit einer Abfrage aus der jeweiligen Tabelle holen.
Also habe ich in die bereits vorhandene For-Schleife eine weitere Abfrage eingefügt. Sieht dann folgendermassen aus:
Diese Konstruktion funktioniert aber leider nur beim ersten Datensatz.
Danach meldet PHP: mysql_num_rows(): supplied argument is not a valid MySQL result resource in d:\wamp\public\alex\index.php on line 36.
Das ist die Zeile, in der der Num_rows für die Authoren-Schleife ausgeführt wird.
Nun hatte ich vielleicht die Idee, dass man das lösen könnte, in dem man eine Schleife macht, die alle Authoren raussucht und dessen Wert dann in bezug auf die $news[author_id] ausgibt. Das währe auch wesentlich schneller, als bei jeder Ausgabe, noch 2 Abfragen zu machen. (Die Icon Tabelle funktioniert nach dem gleichen Prinzip)
Also bei $news[author_id] wird $author_sammlung1 oder so ausgegeben.
Ich habe dazu aber leider nichts brauchbares gefunden und frage mich, wie man das machen könnte.
Hat da jemand 'ne Idee?
Thx schonmal
Greetz und nen schönen Freitag
Ich habe folgendes Problem.
Ich habe ein News Script, welches aus 3 Tabellen besteht.
1) News
2) authoren
3) icons
Die Informationen des postings stammen alle aus der Tabelle 'News'
In dieser Tabelle sind zwei Felder, die eine ID ausgeben (authoren_id und icon_id)
Nun habe ich diese Schleife um die Datensätze der News Datenbank auszugeben
PHP-Code:
if (!ISSET($step)) # Einträge anschauen
{
echo "<h3><center>Übersicht aller Einträge:</center></h3>";
$view_sql="SELECT * FROM $news";
$view_erg=mysql_query($view_sql);
$view_num=mysql_num_rows($view_erg);
for ($i = 0; $i < $view_num; $i++) {
$view_output = mysql_fetch_array($view_erg);
// HTML Ausgabe habe ich mal rausgeschnitten.
}
}
Also habe ich in die bereits vorhandene For-Schleife eine weitere Abfrage eingefügt. Sieht dann folgendermassen aus:
PHP-Code:
if (!ISSET($step)) # Einträge anschauen
{
echo "<h3><center>Übersicht aller Einträge:</center></h3>";
$view_sql="SELECT * FROM $news";
$view_erg=mysql_query($view_sql);
$view_num=mysql_num_rows($view_erg);
for ($i = 0; $i < $view_num; $i++) {
$view_output = mysql_fetch_array($view_erg);
# Start der Authoren-Schleife
$authoren_sql="SELECT * FROM $authoren WHERE id = '$view_output[author_id]'";
$authoren_erg=mysql_query($authoren_sql);
$authoren_num=mysql_num_rows($authoren_erg);
for ($j = 0; $j < $authoren_num; $j++) {
$authoren = mysql_fetch_array($authoren_erg);
echo "<a href=\"mailto:$authoren[email]\">$authoren[name]</a>";
} # Ende der Authoren-Schleife
}
}
Danach meldet PHP: mysql_num_rows(): supplied argument is not a valid MySQL result resource in d:\wamp\public\alex\index.php on line 36.
Das ist die Zeile, in der der Num_rows für die Authoren-Schleife ausgeführt wird.
Nun hatte ich vielleicht die Idee, dass man das lösen könnte, in dem man eine Schleife macht, die alle Authoren raussucht und dessen Wert dann in bezug auf die $news[author_id] ausgibt. Das währe auch wesentlich schneller, als bei jeder Ausgabe, noch 2 Abfragen zu machen. (Die Icon Tabelle funktioniert nach dem gleichen Prinzip)
Also bei $news[author_id] wird $author_sammlung1 oder so ausgegeben.
Ich habe dazu aber leider nichts brauchbares gefunden und frage mich, wie man das machen könnte.
Hat da jemand 'ne Idee?
Thx schonmal
Greetz und nen schönen Freitag
Kommentar