SQL-Query problem mit PHP
moidaschl 11.07.2004 - 12:19 493 5
moidaschl
Vollzeit-Hackler
|
also das ganze sollte eine news ausgeben, das ganze geht soweit. jetz wollte ich dass man, wenn man auf den autor klickt ihm eine mail senden kann. dazu muss ich aber auf einen anderen table zugreifen und dem user seine Email rausholen. ich habe mir des ganze so vorgestellt: <?PHP
$sql = "SELECT ID, Titel, Inhalt, Datum, Zeit, Autor, Bereich FROM news ORDER BY Datum DESC";
$result = mysql_query($sql) OR die(mysql_error());
if (mysql_num_rows($result)) {
while($temp = mysql_fetch_assoc($result)) {
$sql2 = "SELECT Email FROM users WHERE Name = '".$temp['Autor']."';";
$result2 = mysql_query($sql2) OR die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
$mail = $row['Email'];
}
echo "<br \>";
echo "<table align=\"center\" width=\"80%\" class=\"news\">\n";
echo " <tr>\n";
echo " <td width=\"70%\"><b>".$temp['Titel']."</b></td>\n";
echo " <td align=\"right\" width=\"30%\"><i>".$temp['Datum'].", um ".$temp['Zeit']."</i></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td width=\"70%\"><hr>".$temp['Inhalt']."</td>\n";
echo " <td align=\"right\" width=\"30%\" valign=\"top\"><hr>von: <a href=\"mailto:".$mail."\">".$temp['Autor']."</a></td>\n";
echo " </tr>\n";
echo "</table>\n";
echo "<br \>";
}
} else {
echo "<center>No Entries<center>";
}
?>
das ganze funktioniert ohne error, jedoch steht bei der mailaddy ein leerer string drinnen. Jetz habe ich mir gedacht er liest irgendwo was falsches aus, aber ich kann den fehler nicht finden tia moidaschl
|
Ringding
Pilot
|
Hilfe, finde erst mal heraus, was man mit joins machen kann.
|
moidaschl
Vollzeit-Hackler
|
![:bash:](/images/smilies/bash.gif) ich wurde gerade von mir selber geowned ![:rolleyes:](/images/smilies/rolleyes.gif) fehler: im zweiten query sollte $result2 stehn und ned wieder $result
|
moidaschl
Vollzeit-Hackler
|
Ringding, ich weis ned ob es wirklich nötig ist, die tabellen zu verknüpfen, da es ja nur für diese eine ausgabe nötig ist.
|
Ringding
Pilot
|
Es ist aber immer besser, eine (1) Query zu machen als 101 für die Ausgabe einer 100-zeiligen Tabelle.
|
atrox
in fairy dust... I trust!
|
ringding hat recht, deine db weiss im allgemeinen (*) besser, wie deine daten effizient kombiniert werden, als du. ausserdem müssen nicht 100 unnötige queries geparst werden. (*) bzw sollte es wissen
|