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 den Key’s filtern und 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. Listenfeld.
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:
- Code: Select all
<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>
Hier werden aber die Eingaben, Index und Werte, hart codiert und es wird im Ergebnis immer nur 1 Wert, über den Index im nächsten Listenfeld ausgegeben.
Wie also bekomme ich aus der DB Key und Werte in die Listenfelder, und wie wird mit Hilfe der Key’s das nächste Listenfeld über Java aktualisiert, sprich gefiltert.
Die Einträge in den einzelnen Listenfelder können 1 bis nTausend betragen. Daher mehrmaliges lesen der DB vermeinden!. Die Werte evtl. ein Array’s einlesen?