Problem mit HTML-Tabelle im PHP-Script
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
buchung
code
date
datum
einfacher code
falsch code
fehler
fehlermeldung
feld
formular
leere tabelle
mache
problem
tabelle
typ
umlaut
unterschied
warnung
zweite tabelle
-
Hallo, in meinem Script kann man ein Formular ausfüllen, um sich ein Gerät auszuleihen. Nach dem Eintrag wird man in eine Tablelle eingetragen, das klappt auch alles Prima! Aber jezt hab ich in das Script ein Dropdown-Menü hinzegefügt damit man bestimmte Geräte raussuchen kann( das Gerät wird dann in der Tabelle angezeigt. Damits einfacher ist hab ich jetzt am anfang beide Tabellen getrennt aufgebaut. Das Dropdown-Meü zum suchen funktioniert auch.
Aber jetzt mein Problem: ich habe eine if-abfrage eingebaut so, dass nur Geräte angezeigt werden, wenn man auf den Button Absenden geklickt hat und wenn man überhaupt ein Gerät ausgewählt hat. Funktioniert zwar, aber wenn man kein Gerät ausgewählt hat, zeigt er immernoch die leere Tabelle an.
Ich will aber, dass wenn shcon keine Daten angezeigt werden, die Tabellle auch entfällt.
HIer mein Code für die zweite Tabelle mit if-abfrage:
<form action=\"Buchung.php\" method=\"post\" target=\"_self\"> Sehen sie, ob das gewünschte Gerät frei ist <select name=\"Geraet2\" size=\"1\"> <option> bitte wählen Sie ein Gerät </option> <?php while($row3 = mysql_fetch_object($ergebnis4)) { echo \"<option value=\'$row3->id\'>\"; echo $row3->Typ.\" \".$row3->Geraet.\"</option>\"; } ?> <input type=\"submit\" value=\" Ansehen \"> <input type=\"hidden\" name=\"hidden\" value=\"hidden\"> </form><br><br><br><br> <?php $id = $_POST[\"Geraet2\"]; $hidden = $_POST[\"hidden\"]; $Geraet2 = $_POST[\"Geraet2\"]; if($hidden==\"hidden\") //sind Postdaten vorhanden { if ($Geraet2 == \"bitte wählen Sie ein Gerät\") // ist kein Geraet ausgewählt { echo \'Bitte wählen Sie vorher ein Gerät!\'; } else { $abfrage3 = \"SELECT buchung.Name, buchung.vomts, buchung.bists, geraete.Geraet, geraete.Typ FROM `geraete` INNER JOIN `buchung` ON buchung.Geraet=geraete.id WHERE buchung.Geraet=\'$id\'\"; $ergebnis3 = mysql_query($abfrage3) or die (mysql_error()); echo \'<table border=\"1\">\'; echo \'<tr>\'; echo \'<th>Name</th>\'; echo \'<th>vom</th>\'; echo \'<th>um</th>\'; echo \'<th>bis</th>\'; echo \'<th>um</th>\'; echo \'<th>Gerät</th>\'; echo \'</tr>\'; echo \'<tr>\'; echo \'<td>\'; } while($row2 = mysql_fetch_object($ergebnis3)) { echo \"<tr><td>\"; echo $row2->Name.\"</td><td>\"; echo date(\"d.m.Y\",$row2->vomts).\"</td><td>\"; echo date(\"H:i\",$row2->vomts).\"</td><td>\"; echo date(\"d.m.Y\",$row2->bists).\"</td><td>\"; echo date(\"H:i\",$row2->bists).\"</td><td>\"; echo $row2->Geraet.\" \".$row2->Typ; echo \"</td></tr>\"; } } ?> </table>
die Tabelle wird doch laut code auch nur ausgegeben wenn daten vorhanden sind oder nich? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
rofl
löschg das hidden feld und mach es einfacher:
<form action=\"Buchung.php\" method=\"post\" target=\"_self\"> Sehen sie, ob das gewünschte Gerät frei ist <select name=\"Geraet2\" size=\"1\"> <option> bitte wählen Sie ein Gerät </option> <?php while($row3 = mysql_fetch_object($ergebnis4)) { echo \"<option value=\'$row3->id\'>\"; echo $row3->Typ.\" \".$row3->Geraet.\"</option>\"; } ?> <input type=\"submit\" value=\" Ansehen \"> </form><br><br><br><br> <?php if(isset($_POST[\'submit\'])) //sind Postdaten vorhanden { $id = $_POST[\"Geraet2\"]; $Geraet2 = $_POST[\"Geraet2\"]; if ($Geraet2 == \"bitte wählen Sie ein Gerät\") // ist kein Geraet ausgewählt { echo \'Bitte wählen Sie vorher ein Gerät!\'; } else { $abfrage3 = \"SELECT buchung.Name, buchung.vomts, buchung.bists, geraete.Geraet, geraete.Typ FROM `geraete` INNER JOIN `buchung` ON buchung.Geraet=geraete.id WHERE buchung.Geraet=\'$id\'\"; ergebnis3 = mysql_query($abfrage3) or die (mysql_error()); if(ergebnis3 != \'\') { echo \'<table border=\"1\">\'; echo \'<tr>\'; echo \'<th>Name</th>\'; echo \'<th>vom</th>\'; echo \'<th>um</th>\'; echo \'<th>bis</th>\'; echo \'<th>um</th>\'; echo \'<th>Gerät</th>\'; echo \'</tr>\'; echo \'<tr>\'; echo \'<td>\'; while($row2 = mysql_fetch_object($ergebnis3)) { echo \"<tr><td>\"; echo $row2->Name.\"</td><td>\"; echo date(\"d.m.Y\",$row2->vomts).\"</td><td>\"; echo date(\"H:i\",$row2->vomts).\"</td><td>\"; echo date(\"d.m.Y\",$row2->bists).\"</td><td>\"; echo date(\"H:i\",$row2->bists).\"</td><td>\"; echo $row2->Geraet.\" \".$row2->Typ; echo \"</td></tr>\"; } } } ?> </table>
-
wenn ich das anstatt hidden mache, gibt es keinen Unterschied. ICh machts trotzdem lieber mich hidden, weil ich noch mehrere submit Felder habe und das sonst durcheinander kommen würde.
hab den Fehler aber gefunden, ich bei
, gleich einen anderen Wert gegeben, weil das irgendwie Probleme mit diesn Umlauten hatte also so:<option> bitte wauml;hlen Sie ein Gerauml;t ... </option>
<option value\"falsch\"> bitte wauml;hlen Sie ein Gerauml;t ... </option>
und dann näturlich auch
if ($Geraet2 == \"falsch\") { ..... }
aber trotzdem danke für deine Hilfe mergener =)
Beitrag geändert: 18.4.2008 13:17:37 von whiteninja92 -
wenn ich das anstatt hidden mache, gibt es keinen Unterschied. ICh machts trotzdem lieber mich hidden, weil ich noch mehrere submit Felder habe und das sonst durcheinander kommen würde.
Tja dann nnnst du die Submitfelder einfach anders.
Das vorteil ist das du sauberer und strikter arbeitest.Mache mal alle Fehler Warnungen und Errors on und du siehst das er dir mindestens ein duzent fehlermeldungen ausgiebt!
Ich würd sowieso einiges anders machen als du aber naja ;)
Jeder das seine...
Beitrag geändert: 18.4.2008 13:45:07 von mergener -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage