Ich habe drei Tabellen in meiner Datenbank. Studenten, Module und Beziehungen. Jede Zeile der Beziehungstabelle enthält eine Studenten-ID und eine Modul-ID (d. H. Sie enthält die Module, die ein Student annimmt).Schleifen durch mehrere Datenbanktabellen mit verschachtelter Schleife?
Ich versuche, die Relationstabelle durchzulaufen und alle Module zu finden, die ein bestimmter Student nimmt, und drucke dann die Details jedes Moduls aus (z. B. den Namen und den Modulcode).
Ich versuche dies mit einer verschachtelten Schleife zu tun, aber die innere Schleife läuft nur einmal und druckt das erste Modul aus. Ich denke, das ist etwas mit einer zweiten SQL-Abfrage innerhalb meiner While-Schleife zu tun und $m_id
wird nicht mit jeder Iteration aktualisiert. Hier ist mein Code so weit
<?php
include 'connect.php';
$sql = "SELECT * FROM relations WHERE student_id = '1'";
$result = $conn->query($sql);
if($result->num_rows > 0) {
while($row = mysqli_fetch_array($result)) {
$m_id = $row["module_id"];
$sql = "SELECT * FROM modules WHERE module_id = $m_id";
$result = $conn->query($sql);
if($result->num_rows > 0) {
while($row = mysqli_fetch_array($result)) {
echo $row["module_code"];
}
}
}
}
?>
Kann mir jemand dabei helfen?
Hinweis: 'INNER JOIN' –