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
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
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
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]
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden