mehrere Abfragen einer DB

mkoeni1

Erfahrenes Mitglied
Hallo Leute,
ich habe ein Problem und benötige Eure Hilfe.
Ich versuche zwei parallele SELECT einer Datenbank. Die erste ist diese:
PHP:
$sql = "SELECT * FROM events WHERE eventDate = FROM_UNIXTIME($date)";
solange der hier was findet nimm die id und löse den user aus einer anderen DB auf
PHP:
while ($row=mysql_fetch_array($result)){ ...
$user = $row['user_id'];
...
$sql = "SELECT username FROM user WHERE id = '$user'";
....
Am Besten ich zeige Euch mal den Code dann ist es besser zu erklären.
PHP:
$sql = "SELECT * FROM events WHERE eventDate = FROM_UNIXTIME($date)";
$result = mysql_query($sql);
// echo $sql; // Testausgabe

//Fetch rows according to timestamp
$num_rows = mysql_num_rows($result);
if($num_rows == 0){
    echo "<tr><td align=\"center\">F&uuml;r diesen Tag sind keine Belegungen gelistet.</td></tr>";
}else{
  while ($row=mysql_fetch_array($result)){
    $title = $row["eventTitle"];
    $desc = $row["eventDesc"];
    $start = $row['eventStartTime'];
    $end = $row['eventEndTime'];
    $user = $row['user_id'];
    echo $user;
    
    $sql = "SELECT username FROM user WHERE id = '$user'";
    // echo $sql; Testausgabe
    $result = mysql_query($sql);
    $row = mysql_fetch_assoc($result);
    $username = $row['username'];
    
    echo "<tr><td><b>$title</b></td>";
    echo "<tr><td><b>Belegung FTROBO</b></td>";
    echo "<tr><td>Uhrzeit: $start - $end</td></tr>";
  
// benutzer aus der Datenbank
  echo "<tr><td>Benutzer: ";
  echo $username."</td></tr>";
  echo "<tr><td>$desc<br><br></td></tr>";
  }
}
echo "</table>";

Ich möchte einfach solange er ein erstes Ergebnis findet in einem zweiten SELECT anwenden.


Vielen Dank und Gruß
Matze
 
Ok, vielleicht solltest du den alten Connectionstring nicht überschreiben während du mit ihm noch zugreifst ;)

PHP:
$sql = "SELECT * FROM events WHERE eventDate = FROM_UNIXTIME($date)";
$result = mysql_query($sql);
// echo $sql; // Testausgabe

//Fetch rows according to timestamp
$num_rows = mysql_num_rows($result);
if($num_rows == 0){
    echo "<tr><td align=\"center\">F&uuml;r diesen Tag sind keine Belegungen gelistet.</td></tr>";
}else{
  while ($row=mysql_fetch_array($result)){

erster Zugriff!

PHP:
$sql = "SELECT username FROM user WHERE id = '$user'";
    // echo $sql; Testausgabe
    $result = mysql_query($sql);
    $row = mysql_fetch_assoc($result);
    $username = $row['username'];

zweiter Zugriff ..

nun, wenn du während des Schleifendurchlaufes den result änderst kann die erste schleife keinen passenden result mehr empfange. Ändere das innere mal auf result1!

Lg Mohag
 
Zuletzt bearbeitet:
Zurück