Join-Abfrage um eine Bedingung hinzufügen

Coldstorm

Gesperrt
hi,

ich hab folgende Datenbank(Anhang).

Und ich hab diese SQL-Anweisung:

Code:
SELECT sv.Stunde, sv.Tag, le.Name,fa.Bezeichnung, baptime_klasse.KlassenID 
          FROM baptime_stundenverteilung AS sv
          LEFT JOIN baptime_lehrer AS le ON sv.LehrerID = le.LehrerID 
          LEFT JOIN baptime_fach AS fa ON sv.FachID = fa.FachID

Es soll um ein... in Sinne von "where baptime_klasse.KlassenID = 10" am Ende erweitert werden,
aber so geht es natürlich nicht, weiß jemand wie das geht?
 

Anhänge

  • dbmodell.JPG
    dbmodell.JPG
    17,7 KB · Aufrufe: 12
SQL:
SELECT sv.Stunde, sv.Tag, le.Name,fa.Bezeichnung, baptime_klasse.KlassenID 
          FROM baptime_stundenverteilung AS sv
          LEFT JOIN baptime_lehrer AS le ON sv.LehrerID = le.LehrerID 
          LEFT JOIN baptime_fach AS fa ON sv.FachID = fa.FachID
WHERE sv.KlassenID = 10
Vielleicht?
 
Hi.

Du mußt die Tabelle baptime_klasse natürlich auch mit in die Verbindung einbeziehen, wenn du Daten aus der Tabelle ansprechen willst.

Gruß
 
Willst du nur die KlassenID auslesen? Weil die steht ja auch in deiner Tabelle baptime_stundenverteilung. Ansonsten Joinst du eben auch der Tabelle baptime_klassen:

SQL:
SELECT sv.Stunde, sv.Tag, le.Name,fa.Bezeichnung, kl.Klasse
          FROM baptime_stundenverteilung AS sv
          LEFT JOIN baptime_lehrer AS le ON sv.LehrerID = le.LehrerID
          LEFT JOIN baptime_fach AS fa ON sv.FachID = fa.FachID
          LEFT JOIN baptime_klassen AS kl ON sv.KlassenID = kl.KlassenID
WHERE sv.KlassenID = 10
 
ja habs so gemacht



Bin auch grad drauf gekommen, is ja gar ned so schwer...aber danke nochmal...
Naja vielleicht ne andere Frage noch...

Wie kann ich das denn dann in einer Tabelle schön ausgeben?
Ich hab so angefangen...jetzt brauch ich das halt noch, dass die Tage(Montag-Freitag)-Spalten gefüllt werden, und nicht nur in eine...

So hab ich angefangen:

PHP:
<h3>Stundenplan für Klasse 10</h3>
	<table border="1" cellspacing="0" cellpadding="0">
	<colgroup>
	<col width="135"><col width="165"><col width="165">
	<col width="165"><col width="165"><col width="165"></colgroup>
	<tr bgcolor="#B7B7B7">
	<th>Stunde</th>
	<th>Montag</th><th>Dienstag</th><th>Mittwoch</th><th>Donnerstag</th><th>Freitag</th>
	</tr>
	<?php
	echo "<tr>"; 
		$sql = "
SELECT sv.Stunde, sv.Tag, le.Name,fa.Bezeichnung, kl.KlassenID FROM baptime_stundenverteilung AS sv
          LEFT JOIN baptime_lehrer AS le ON sv.LehrerID = le.LehrerID 
          LEFT JOIN baptime_fach AS fa ON sv.FachID = fa.FachID
          LEFT JOIN baptime_klasse AS kl on sv.KlassenID = kl.KlassenID 
          WHERE kl.KlassenID = 10";
		$result = mysql_query($sql);

if (!$result) {
    echo "Abfrage ($sql) konnte nicht ausgeführt werden : " . mysql_error();
    exit;
}
if (mysql_num_rows($result) == 0) {
    echo "Es wurde noch kein Stundenplan hinzugefügt.";
    exit;
}

	while ($row = mysql_fetch_assoc($result)) {
	echo "<td>";	
    echo $row['Stunde'];
	echo "</td>";
	echo "<td>";
    echo $row['Name'];
	echo "<br>";
    echo $row['Bezeichnung'];
	echo "</td>";	

	echo "</tr></table>"; 
}
mysql_free_result($result);
			?>
 
Wenn ich das ganze so ausführe:

PHP:
	.<br>
	<h3>Stundenplan für Klasse 10</h3>
	<table border="1" cellspacing="0" cellpadding="0">
	<colgroup>
	<col width="135"><col width="165"><col width="165">
	<col width="165"><col width="165"><col width="165"></colgroup>
	<tr bgcolor="#B7B7B7">
	<th>Stunde</th>
	<th>Montag</th><th>Dienstag</th><th>Mittwoch</th><th>Donnerstag</th><th>Freitag</th>
	</tr>
	<?php
	echo "<tr>"; 
		$sql = "SELECT sv.Stunde, sv.Tag, le.Name, fa.Bezeichnung, kl.KlassenID
		FROM baptime_stundenverteilung AS sv
		LEFT JOIN baptime_lehrer AS le ON sv.LehrerID = le.LehrerID
		LEFT JOIN baptime_fach AS fa ON sv.FachID = fa.FachID
		LEFT JOIN baptime_klasse AS kl ON sv.KlassenID = kl.KlassenID
		WHERE kl.KlassenID =10";
		$result = mysql_query($sql);

if (!$result) {
    echo "Abfrage ($sql) konnte nicht ausgeführt werden : " . mysql_error();
    exit;
}
if (mysql_num_rows($result) == 0) {
    echo "Es wurde noch kein Stundenplan hinzugefügt.";
    exit;
}

	while ($row = mysql_fetch_assoc($result)) {
	echo "<tr><td>";	
    echo $row['Stunde'];
	echo "</tr>";
	echo "<tr><td>";
    echo $row['Name'];
	echo "<br>";
    echo $row['Bezeichnung'];
	echo "</td><tr>";	

	echo "</tr></table>"; 
}
mysql_free_result($result);
			?>

Dann kommt immer nur diese Ausgabe(Anhang)

Was muss ich da noch ändern, damit die Tabelle richtig angezeigt wird?
 

Anhänge

  • stundenplanausgabe.JPG
    stundenplanausgabe.JPG
    24,3 KB · Aufrufe: 11

Neue Beiträge

Zurück