DropDown mit Datenbankabfrage und onchange
TJc09
- php
Hallo!
Ich beiß mir die Zähne aus und komm nicht weiter:
Ich frage alle Daten in einer Tabelle/Spalte ab
$sql = "SELECT * FROM zimmer ORDER BY DATE ' ' ";
$result = mysql_query ( $sql )
Das klappt. Dann gebe ich die Daten in einer Select Box wieder:
echo '<form action="index.php" method="post">';
echo "<select name='zimmer'\" onchange=\"bla.sendRequest('/join',this.form.zimmer.value);\">
>";
echo '<OPTION VALUE="" SELECTED>-- Zimmer auswdhlen --</OPTION>';
while ( $row = mysql_fetch_array ( $result ) )
{
echo "<option value='".$row[0]."'>$row[0].".$row[3]."</option>";
}
echo "</select>";
echo '</form>';
Mein Problem: Beim onchange soll dieser join ausgeführt werden. Dazu benötigt er den Wert der aus der Liste per Klick ausgewählt wird.
Wähle ich also "Zimmer3" aus dem Drop Down Menü sollte beim onchange eben "/join Zimmer3 ausgeführt werden.
Dies scheint auch manchmal zu funktionieren. nach ein paar versuchen klappt es aber nicht mehr.
Grüße, Thomas
Hi,
$sql = "SELECT * FROM zimmer ORDER BY DATE ' ' ";
Das klappt.
echt? Krass. Ich hätte auf einen MySQL-Fehler gewettet. Nun ja, einen Sinnfehler hast Du immre noch, oder gibt es einen Grund, weshalb Du "*" selektierst?
echo "<select name='zimmer'" onchange="bla.sendRequest('/join',this.form.zimmer.value);">
Neulich setzte ich mich in den Sessel meiner Bibliothek, schnippte mit den Fingern und wies anschließend den sofort erschienenem[1] Butler an, mir bescheid zu geben, dass ich gerne ein weiteres Mal Tolstois "Anna Karenina" zu lesen gedenke. Das tat mein Butler, und ich stand auf, um dieses Buch aus seinem Regal zu holen.
Wie ich sehe, gehst Du ganz genau so vor.
";
Sprach der Maulwurf: "Hmwa?"
Mein Problem: Beim onchange soll dieser join ausgeführt werden. Dazu benötigt er den Wert der aus der Liste per Klick ausgewählt wird.
Wähle ich also "Zimmer3" aus dem Drop Down Menü sollte beim onchange eben "/join Zimmer3 ausgeführt werden.
Dies scheint auch manchmal zu funktionieren. nach ein paar versuchen klappt es aber nicht mehr.
Und an welcher Stelle "klappt es aber nicht mehr"? Es muss sich ja wohl um etwas Serverseitiges handeln, da Du PHP als Themenbereich gewählt hast. Damit schließt Du ein JavaScript-Problem aus. Welche Untersuchungen haben Dich zu dieser Erkenntnis geführt, und warum behältst Du sie uns vor?
Cheatah
[1] Nein, kein Igor. Nur gut ausgebildet.
Und an welcher Stelle "klappt es aber nicht mehr"? Es muss sich ja wohl um etwas Serverseitiges handeln, da Du PHP als Themenbereich gewählt hast. Damit schließt Du ein JavaScript-Problem aus. Welche Untersuchungen haben Dich zu dieser Erkenntnis geführt, und warum behältst Du sie uns vor?
Cheatah
[1] Nein, kein Igor. Nur gut ausgebildet.
Das ist ja das Problem, ich weiss nicht wo der Fehler liegt, musste mich aber notgedrungen für eine Kategorie entscheiden.
Meine grundsätzliche Frage ist: Kann es auf diese Weise funktionieren oder wäre eine andere Vorgehensweise besser? Ich schliesse einen JS Fehler nicht aus.
Kann ich den Wert nicht per PHP Variable an onchange übergeben? Wenn ich das so mache, kann ich ja lediglich innerhalb der while Schleife darauf zugreifen...
Sorry für meine Unwissenheit.
Hi,
Das ist ja das Problem, ich weiss nicht wo der Fehler liegt,
was hast Du getan, um dieses Problem zu lösen?
Meine grundsätzliche Frage ist: Kann es auf diese Weise funktionieren
Das kommt darauf an, was Du hier unter "Weise" verstehst.
Kann ich den Wert nicht per PHP Variable an onchange übergeben?
Zumindest scheint Dir noch nicht klar zu sein, was der Unterschied zwischen Client und Server ist. Kleiner Tipp: Wenn Du beim Client bist, dann ist es so, als hätte niemals so etwas wie ein Server existiert; und umgekehrt.
Cheatah
Hi,
du hast doch zu diesem Thema letzte Tage schon mal gepostet, oder?
(Finde den Thread momentan leider nicht, vermutlich auf dem Weg ins Archiv.)
echo "<select name='zimmer'" onchange="bla.sendRequest('/join',this.form.zimmer.value);">
Was bla ist und was dessen Methode sendRequest macht - darüber hattest du alle Mitleser doch schon im ersten Thread im Unklaren gelassen, wenn ich mich recht erinnere.
MfG ChrisB
Hallo Chris,
du hast doch zu diesem Thema letzte Tage schon mal gepostet, oder?
(Finde den Thread momentan leider nicht, vermutlich auf dem Weg ins Archiv.)
das liegt vielleicht daran, dass du erwartet hast, der OP würde denselben Namen verwenden. Nein, sein neuer Nick ist ähnlich, aber nicht gleich dem damaligen: Heute "TJc09", letzte Woche "Tcz9".
Aber du hast Recht, dieser Beitrag ist eine Neuauflage des Themas, ich hatte beim Lesen auch schon ein Déjà-vu. Und deshalb wollen wir uns zur weiteren Erörterung des Themas bitte zum ursprünglichen Beitrag begeben und hoffen, dass der OP nicht wieder nach dem Posten seiner Frage geflüchtet ist und sich gar nicht für Antworten interessiert.
Was bla ist und was dessen Methode sendRequest macht - darüber hattest du alle Mitleser doch schon im ersten Thread im Unklaren gelassen, wenn ich mich recht erinnere.
Das wird jetzt nicht anders sein, fürchte ich.
Ciao,
Martin