In einer MySql-DB habe ich 4 Tabellen.
Jede Tabelle hat einen Eindeutigen Key.
Über den Key sind die Tabellen miteinander verbunden.
Mit PHP kann ich die Daten aus der Datenbank Auslesen und entsprechend der Key’s darstellen.
Jetzt möchte ich folgende Darstellung:
Auslesen der 1. Tabelle für 1. Listenfeld.
Auslesen der 2. 3. und 4. Tabelle für 2 bis 4 Listenfelder.
Die 4 Felder werden in einer HTML – Seite gleichzeitig angezeigt.
Zu diesem Zeitpunkt werden keine Filter in der SQL – Abfrage eingesetzt.
1. Wenn jetzt der User im Listenfeld 1 eine Auswahl trifft, sollen die Listenfelder 2 bis 4 entsprechend der Key’s aktualisiert, sprich gefiltert, werden, ohne neues Lesen der Datenbank.
2. Wenn jetzt der User im Listenfeld 2 eine Auswahl trifft, sollen die Listenfelder 3 bis 4 entsprechend der Key’s aktualisiert, sprich gefiltert, werden, ohne neues Lesen der Datenbank.
3. Wenn jetzt der User im Listenfeld 3 eine Auswahl trifft, sollen Das Listenfelder 4 entsprechend des Key’s aktualisiert, sprich gefiltert, werden, ohne neues Lesen der Datenbank.
Das geht sicherlich mit JavaSript, aber habe noch nicht den richtigen Ansatz dafür.
Folgenden Code habe ich gefiunden:
Hier werden aber die Eingaben; Index und Werte, hart codiert und es wird im Ergebnis immer nur 1 Wert im nächsten Listenfeld ausgegeben.Code:<script type="Text/JavaScript"> function switcher(x) { if(x==1) { document.form_1.select_2.selectedIndex = document.form_1.select_1.selectedIndex; } else { document.form_1.select_1.selectedIndex = document.form_1.select_2.selectedIndex; } } </script> <form name="form_1"> <select name="select_1" onChange="switcher(1);"> <option>Auto wählen</option> <option value="Audi">Audi</option> <option value="Golf">Golf</option> <option value="BMW">BMW</option> <option value="Opel">Opel</option> </select> <select name="select_2" onChange="switcher(2);"> <option>###</option> <option value="#1">Audi #1</option> <option value="#2">Golf #2</option> <option value="#3">BMW #3</option> <option value="#4">Opel #4</option> <option value="#4">Astra #4</option> </select> </form>
Wie also bekomme ich die aus der DB Key und Werte in die Listenfelder , und wie wird mit Hilfe der Key’s das nächste Listenfeld aktualisiert, sprich gefiltert.
Die Einträge in den einzelnen Listenfelder können 1 – nTausend betragen. Daher mehrmaliges lesen der DB vermeinden!. Die Werte evtl. zuvor in Array’s einlesen? und Array's mit mehreren Tausend Einträge, ist das OK?




Zitieren


Lesezeichen