Sizco Geschrieben 12. August 2008 Geschrieben 12. August 2008 Hallo, ich habe ein kleines Problem: Ich habe mir ein HTML-Formular gebastelt, in dem unter anderem eine DropDown-Box vorkommt und ein Textfeld. Die Daten für die DropDown-Box entnehme ich aus einer SQL-Tablle. Die Tabelle besteht aus 4 Spalten: id, name, ort, plzintern Bei der DropDown-Box gebe ich die id als Value mit. Angezeigt wird nur der Name und der Ort. Wenn man einen Namen / Ort ausgewählt hat, soll die zugehörige plzintern in einem Textfeld erscheinen. Wie kann ich das realisieren. Ich denke, ich muss auf das onChange-Ereignis der DropDown-Box zurückgreifen, ich weiß allerdings nicht so recht, wie ich da eine SQL-Abfrage mit dem entsprechenden value des gewählten Eintrages integrieren kann. Ich bin für jede Hilfe dankbar. MfG Christian Zitieren
Shadowman Geschrieben 12. August 2008 Geschrieben 12. August 2008 mir würde spontan nur ein assiziatives array einfallen. guck dir zu dem thema mal selfhtml an Zitieren
flashpixx Geschrieben 12. August 2008 Geschrieben 12. August 2008 Gerade bei PLZ würde ich Dir zu Ajax raten. Du kannst mit Ajax einen Webservice aufrufen. D.h. Du rufst in Deinem onChange einen Webservice auf, dem Du die ID übergibst, der Webservice führt nun eine Abfrage auf der Datenbank aus und liefert Dir die PLZ. Du könntest aber das System mit der ID umgehen, in dem in der Datenbank die PLZ Tabelle speicherst und über den Webservice direkt anhand der PLZ den Ort ermittelst HTH Phil Zitieren
ZuVieL Geschrieben 13. August 2008 Geschrieben 13. August 2008 ich würde es so machen, ob das so optimal ist, ist eine andere frage. <? $js_arr = ''; $select_box = ''; for($i = 1;$i < 200; $i++) { $js_arr .= ' mein_arr['.$i.'] = new Object(); mein_arr['.$i.']["plz"] = "PLZ: '.rand(10000,70000).'"; '; $select_box .= '<option value="'.$i.'">Name '.$i.'</option>'; } echo' <html> <head> <script> window.onload = function() { mein_arr = new Array(); '.$js_arr.' } function getPlz(t) { id = t.value; document.getElementById("show").innerHTML = mein_arr[id]["plz"]; document.getElementById("show2").value = mein_arr[id]["plz"]; } </script> </head> <body> <select onChange="getPlz(this)"> '.$select_box.' </select> <br><br> <div id="show" style="border:1px dashed black;width:100px;height50px;"></div><br> <input type="text" id="show2"></input> </body> </html> '; ?> [/PHP] Zitieren
Sizco Geschrieben 13. August 2008 Autor Geschrieben 13. August 2008 @ZuVieL : Vielen Dank für deine Hilfe. Habe deinen Code entsprechend angepasst. Es funtioniert jetzt wunderbar. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.