"We are back" « oc.at

SQL-Query problem mit PHP

moidaschl 11.07.2004 - 12:19 493 5
Posts

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
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:

Code: PHP
 <?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
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Hilfe, finde erst mal heraus, was man mit joins machen kann.

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
:bash: ich wurde gerade von mir selber geowned :rolleyes:

fehler: im zweiten query sollte $result2 stehn und ned wieder $result

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
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
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
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!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
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 :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz