Problem mit Abfrage

lordofscotland

Erfahrenes Mitglied
Hallo Community,

bin dabei für eine Seite eine Art Belegungsplan zu erstellen, dabei soll wenn für den Monat nix drin steht, also auch keine ID oder anderweitige Einträge ein Tabellenspalte mit einem Hinweis angezeigt werden.

Quellcode:
PHP:
 if ($monat == "")
 {
 print "<td rowspan='13'>Bitte w&auml;hlen Sie auf der rechten Seite eine Monat aus<br />um sich den Belegungsplan anzeigen zu lassen.</td>";
 }
 else
 {
 include("../php/dbconnect_inc.php");
 $sql = "SELECT * FROM belegung WHERE '$monat' = monat";
 $res = mysql_query($sql);
 $anz = mysql_num_rows($res);
 while($z = mysql_fetch_row($res)) {
 if ($z[0] >= 0)
 {
 $z[2] = nl2br($z[2]);
 print "<td rowspan='13'>$z[1]<br/>$z[2]</td>";
 }
 else
 {
 print "<td rowspan='13'>F&uuml;r den $monat gibt es noch keine Eintr&auml;ge.</td>";
 }
 }
 }

Das erste if fragt nur ab ob der Monat welcher als Variable übergeben wird leer ist, das macht das Teil auch, den Teil mit dem Auslesen nach Monat klappt auch, nur am Ende dann in der abfrage klappt die letzte else Schleife nicht und es wird nur die Liste mit den Monaten angezeigt.

Wo liegt mein Denkfehler?

lordofscotland

PS: danke im Vorraus
 
Hallo lord,

versuch doch mal deine SQL-Abfrage folgendermaßen umzustellen..

PHP:
$sql = "SELECT * FROM belegung WHERE  monat = $monat";

mfg

5noOPY
 
Hallo 5noOPY,

das bringt mir eine kleine Fehlermeldung das es keine Daten gibt.
Eigentlich soll es ja nur abfragen ob Daten da sind, wenn die DB nix zurückgibt soll die Mitteilung ausgegeben werden. Sollte eigentlich kein Thema sein, doch anscheinend mag mich PHP heute nicht. *fg*

Da ich mich erstmal nicht weiterrumquälen will, hab ich ganz einfach alle Monate in die Datenbank eingetragen und das Textfeld für dei Belegung leer gelassen, damit klappt die Abfrage nun so wie sie soll.
 
Zuletzt bearbeitet:
PHP:
<?php

if ($monat == "")
 {
 print "<td rowspan='13'>Bitte w&auml;hlen Sie auf der rechten Seite eine Monat aus<br />um sich den Belegungsplan anzeigen zu lassen.</td>";
 }
 else
 {
 include("../php/dbconnect_inc.php");
 $sql = "SELECT * FROM belegung WHERE '$monat' = monat";
 $res = mysql_query($sql);
 $anz = mysql_num_rows($res);
if(mysql_num_rows($res) !== 0 ) { 

 while($z = mysql_fetch_row($res)) {
 if ($z[0] >= 0)
 {
 $z[2] = nl2br($z[2]);
 print "<td rowspan='13'>$z[1]<br/>$z[2]</td>";
 }
 else
 {
 print "<td rowspan='13'>F&uuml;r den $monat gibt es noch keine Eintr&auml;ge.</td>";
 }
 }
}
}  

// Probier es mal so ;)

?>

MfG
KD3
 
Zurück