Auswahlfelder voneinander abhängig und von MySQL gefüttert

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
konne
Mitglied
Beiträge: 250
Registriert: 26.08.2004 15:30
Kontaktdaten:

Auswahlfelder voneinander abhängig und von MySQL gefüttert

Beitrag von konne »

Hallo,

ich bin gerade auf der suche nach einem kleinen JavaScript Tool.
Es geht genau gesagt um ein Auswahlformular bestehend aus drei Auswahlfeldern 1, 2 und 3. Hierbei soll 2 von 1 und 3 von 2 abhängig sein. Hinzu kommt eine nötige Datenbankabfrage, um mögliche Auswahloptionen zu erhalten.
Am Beginn soll nur das Auswahlfeld 1 Optionen aus der Datenbank enthalten und 2 und 3 leer sein. Nach Auswahl in 1 füllt sich 2 mit entsprechenden Optionen und nach Auswahl in 2 wird auch 3 gefüllt und übergibt am Ende einen entsprechenden Wert.

Code: Alles auswählen

mögl. Optionen für 1
ID | Name
31 | 31AA
32 | 32BB

mögl. Optionen für 2
ID | Name | IDvon1
21 | 21AA | 31
22 | 22BB | 31
23 | 23CC | 32
24 | 24DD | 32

mögl. Optionen für 3
ID | Name | IDvon2
11 | 11AA | 21
12 | 12BB | 21
13 | 13CC | 22
14 | 14EE | 22
15 | 15FF | 23
16 | 16GG | 23
17 | 17HH | 24
18 | 18II | 24
Ich hoffe ihr versteht mich.

Wer kann mir also mal etwas in der Richtung weiterhelfen oder gar eine fertige Lösung nennen?

Ein gutes Beispiel wäre event. unter http://www.lfvm-v.de/verband/verband.php?Einheit=Verein bei der Vereinssuche genannt.
1 = Bezirk, 2 = KFV, 3 = Verein
Zuletzt geändert von konne am 19.10.2005 10:43, insgesamt 1-mal geändert.
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag von D@ve »

also Du kannst mehrere Auswahlfelder voneinander abhängig machen indem Du einfach beide per onchange="" verknüpfst und darin jeweils das andere nach Deinen Vorstellungen änderst. Was das mit der DB zu tun hat verstehe ich noch nicht...

Gruß, Dave
There are only 10 types of people in the world: Those who understand binary, and those who don't
mristau2k5
Mitglied
Beiträge: 140
Registriert: 10.05.2005 02:35
Wohnort: Filderstadt

Beitrag von mristau2k5 »

Ich empfehle, alle möglichen Daten schon bei der ersten Datenbankabfrage in der Datei auszugeben, das erste Auswahlfeld direkt füllen und für die anderen beiden jeweils JavaScript-Arrays füllen, wenns nicht zu viele Daten sind, ansonsten würde ich per OnChange die das Formular absenden lassen und dann abhängig von der Auswahl das zweite Feld füllen. per JS müsste eben nicht die ganze Seite nochmal geladen werden
Benutzeravatar
konne
Mitglied
Beiträge: 250
Registriert: 26.08.2004 15:30
Kontaktdaten:

Beitrag von konne »

mristau2k5 hat geschrieben:per JS müsste eben nicht die ganze Seite nochmal geladen werden
Genau darum geht es mir im Wesentlichen. Nur habe ich von JS keine richtige Ahnung.
Desshalb dacht ich, kennt vielleicht jemand etwas Fertiges.

Die Daten der Datenbank lese ich schon im Vorfeld in ein Array ein. Nach meinen Beispiel also in etwa so:

Code: Alles auswählen

$array['Auswahl1']['ID']; $array['Auswahl1']['Name'];
$array['Auswahl2']['ID']; $array['Auswahl2']['Name']; $array['Auswahl2']['IDvonAuswahl1'];
$array['Auswahl3']['ID']; $array['Auswahl3']['Name']; $array['Auswahl1']['IDvonAuswahl2'];
Wird in Auswahl1 etwas gewählt, sollen in Auswahl2 die Daten zur Wahl stehen, die die entsprechende 'IDvonAuswahl1' enthalten. Auswahl3 soll nur Werte mit entsprechender 'IDvonAuswahl2' wiedergeben.

Die Datenbank hat also nur indirekt etwas damit zu tun.

Möglicherweise hat nun noch jemand eine Lösung zu meiner Anfrage.
mristau2k5
Mitglied
Beiträge: 140
Registriert: 10.05.2005 02:35
Wohnort: Filderstadt

Beitrag von mristau2k5 »

Also ich würde die betreffenden Daten für die Auswahlboxen jeweils in JS Arrays eintragen

Code: Alles auswählen

echo "arrayX = new array('Daten1', 'Daten2', 'Daten3')\n";
hier ist noch ein Beitrag von mir dazu

so etwa, jetzt müsste für die Arrays eben jeweils ein eindeutiger Name definiert werden, mit der ID
über OnChange kann man dann jeweils melden, welches Array man haben möchte
Benutzeravatar
konne
Mitglied
Beiträge: 250
Registriert: 26.08.2004 15:30
Kontaktdaten:

Beitrag von konne »

Nun, da werd ich jetzt aber auch nicht so richtig schlau draus. Vor allem weil ich so gut wie keine Ahnung von JS habe.

Kann mir das nicht jemand für mein Beispiel etwas konkreter erklären. Eventuell auch in Anbetracht dessen, dass mein Beispiel ein Beispiel ist.
D.h. es gibt tatsächlich über 300 mögliche Auswahlmöglichkeiten für Auswahlfeld3, etwa 20 für Auswahlfeld1 und Auswahlfeld2 kommt nicht in allen Fällen vor.

Noch genauer wird das ganze, wenn ihr euch das in der onChange-Variante, wie ich es Momentan schon verwirklicht habe, mal anseht. Auf http://clubs.korinet.de geht es um Fußballvereine, -kreise, -bezirke und -verbände.

Die Auswahl sollte dann möglichst ohne Neuladen der Seite funktionieren.

Jetzt vielleicht noch Vorschläge???
Antworten

Zurück zu „Coding & Technik“