Chained select - abhängige dropdowns
hallo gemeinschaft
habe zwei dropdown menüs, die voneinander abhängig sind
es sind die menüs
gebiet
reederei
das ist die tab reederei
id_Reederei id_SearchResult ReedereiID ReedereiName
gebiet
id_Destination id_SearchResult DestinationID DestinationName
könnt ihr mir dabei helfen, wie ich das umsetzen kann, dass wenn man z.b. im menü gebiet ein gebiet auswählt, dass dann das menü reederei entsprechend geändert wird
bzw. wenn man ein gebiet aussucht, dass dann das dropdown reederei geändert wird
habe zwei dropdown menüs, die voneinander abhängig sind
es sind die menüs
gebiet
reederei
das ist die tab reederei
id_Reederei id_SearchResult ReedereiID ReedereiName
gebiet
id_Destination id_SearchResult DestinationID DestinationName
könnt ihr mir dabei helfen, wie ich das umsetzen kann, dass wenn man z.b. im menü gebiet ein gebiet auswählt, dass dann das menü reederei entsprechend geändert wird
bzw. wenn man ein gebiet aussucht, dass dann das dropdown reederei geändert wird
15 Antworten
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 17:45:39 Uhr
- LÖSUNG jensgebken schreibt am 23.04.2016 um 17:54:58 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 18:17:18 Uhr
- LÖSUNG jensgebken schreibt am 23.04.2016 um 18:50:44 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 19:09:16 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 19:16:53 Uhr
- LÖSUNG jensgebken schreibt am 23.04.2016 um 19:57:21 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 20:10:15 Uhr
- LÖSUNG jensgebken schreibt am 23.04.2016 um 20:27:08 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 20:46:35 Uhr
- LÖSUNG jensgebken schreibt am 23.04.2016 um 21:08:41 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 21:33:39 Uhr
- LÖSUNG jensgebken schreibt am 23.04.2016 um 22:14:02 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 22:57:20 Uhr
- LÖSUNG jensgebken schreibt am 23.04.2016 um 23:02:54 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 22:57:20 Uhr
- LÖSUNG jensgebken schreibt am 23.04.2016 um 22:14:02 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 21:33:39 Uhr
- LÖSUNG jensgebken schreibt am 23.04.2016 um 21:08:41 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 20:46:35 Uhr
- LÖSUNG jensgebken schreibt am 23.04.2016 um 20:27:08 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 20:10:15 Uhr
- LÖSUNG jensgebken schreibt am 23.04.2016 um 19:57:21 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 19:16:53 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 19:09:16 Uhr
- LÖSUNG jensgebken schreibt am 23.04.2016 um 18:50:44 Uhr
- LÖSUNG wiesi200 schreibt am 23.04.2016 um 18:17:18 Uhr
- LÖSUNG jensgebken schreibt am 23.04.2016 um 17:54:58 Uhr
LÖSUNG 23.04.2016 um 17:45 Uhr
Hallo,
Ich würde im Endeffekt versuchen die menüelemente per JavaScript bzw Ajax zu laden.
PHP wird schwer bis unmöglich.
Ich würde im Endeffekt versuchen die menüelemente per JavaScript bzw Ajax zu laden.
PHP wird schwer bis unmöglich.
LÖSUNG 23.04.2016, aktualisiert um 17:56 Uhr
... und wenn man das formular neu lädt - macht das sinn
es ist noch ein drittes feld hinzu gekommen ship
id_ship id_SearchResult ShipID ShipName
alle sind verbunden über die id_SearchResult
wie machen die jungs das denn http://www.e-hoi.de/
es ist noch ein drittes feld hinzu gekommen ship
id_ship id_SearchResult ShipID ShipName
alle sind verbunden über die id_SearchResult
wie machen die jungs das denn http://www.e-hoi.de/
LÖSUNG 23.04.2016 um 18:17 Uhr
Per Ajax?
Nur so kann man eine einzelne Webseiten Objekte Aktualisieren ohne die ganze Seite kpl. neu zu laden.
PHP ist ja Serverseitig, wie sollte es dann auf Browsereingaben auf diese Art reagieren können.?
Nur so kann man eine einzelne Webseiten Objekte Aktualisieren ohne die ganze Seite kpl. neu zu laden.
PHP ist ja Serverseitig, wie sollte es dann auf Browsereingaben auf diese Art reagieren können.?
LÖSUNG 23.04.2016 um 18:50 Uhr
Kannst du mir dabei helfen
LÖSUNG 23.04.2016 um 19:09 Uhr
Ich bin jetzt zwar leider auch nicht so der JavaScript Profi.
Aber die links sollte dir zumindest weiter helfen können.
https://www.administrator.de/forum/aktualisieren-div-containern-javascri ....
https://api.jquery.com/change/
Aber die links sollte dir zumindest weiter helfen können.
https://www.administrator.de/forum/aktualisieren-div-containern-javascri ....
https://api.jquery.com/change/
LÖSUNG 23.04.2016 um 19:16 Uhr
LÖSUNG 23.04.2016 um 19:57 Uhr
So etwas habe ich schon gefunden Problem ist nur das ist nur einseitig ist-ich möchte ja entweder zuerst im Feld A oder im Feld B eine Auswahl treffen
LÖSUNG 23.04.2016 um 20:10 Uhr
Ist doch im Endeffekt das selbe in grün. Nur das du zwei unterschiedliche Abfragen hast.
LÖSUNG 23.04.2016 um 20:27 Uhr
hi
ich hab noch ein kleines problem
wenn ich das formular absende, dann brauche ich die
id_Reederei
id_Destination
für das erstellen der abhängigen dropdowns brauche ich aber die id_searchresult
wie würdes tdu es machen
ich hab noch ein kleines problem
wenn ich das formular absende, dann brauche ich die
id_Reederei
id_Destination
für das erstellen der abhängigen dropdowns brauche ich aber die id_searchresult
wie würdes tdu es machen
LÖSUNG 23.04.2016, aktualisiert um 20:47 Uhr
Mensch, die ID's kann man doch anpassen.
Schau dir doch mal den Letzten Link von mir an.
https://css-tricks.com/dynamic-dropdowns/
Daraus wird dann bei dir
In der getter.php die du auch in dem Link findest musst du dann je nach dem welcher Parameter gefüllt ist eine entsprechende SQL Abfrage ausführen die dir die Passenden Werte zurück gibt.
Schau dir doch mal den Letzten Link von mir an.
https://css-tricks.com/dynamic-dropdowns/
$("#first-choice").change(function() {
$("#second-choice").load("getter.php?choice=" + $("#first-choice").val());
});
Daraus wird dann bei dir
$("#id_Reederei").change(function() {
$("#id_Destination").load("getter.php?reederei=" + $("#id_Destination").val());
});
$("#id_Destination").change(function() {
$("#id_Reederei").load("getter.php?destination=" + $("#id_Reederei").val());
});
In der getter.php die du auch in dem Link findest musst du dann je nach dem welcher Parameter gefüllt ist eine entsprechende SQL Abfrage ausführen die dir die Passenden Werte zurück gibt.
LÖSUNG 23.04.2016, aktualisiert um 21:30 Uhr
... aber ich muss doch vergleichen nach id_searchresult
LÖSUNG 23.04.2016 um 21:33 Uhr
Für was ist denn dein Search Resultat überhaupt da, bzw nach was musst du da vergleichen?
Erklär doch bitte das 100% genau was du da machst? Wie die Daten aussehen? Und alles andere was wichtig ist, ohne Abkürzungen.
Erklär doch bitte das 100% genau was du da machst? Wie die Daten aussehen? Und alles andere was wichtig ist, ohne Abkürzungen.
LÖSUNG 23.04.2016, aktualisiert um 22:18 Uhr
okay
ich habe drei dropdowns, die in abhängigkeit zueinander stehen
nun möchte ich z.b. im feld ship - ein ship auswählen - und dann sollen z.b. die felder destination und reederei entsprechend gefiltert werden, so dass im feld destination nur die gebiete angezeigt werden, in denen das schiff fährt und im feld reederei halt dann nur noch die reederei
wenn ich nach reset (alle dropdowns wieder lösche) im feld reederei eine auswähle, dann sollen nu im feld ship nur die schiffe angezeigt werden, die zur reederei gehören und im feld gebiet nuir die gebiete in denen die reederei reisen anbietet
ich habe z.b. folgende datensätze in der reederei
id_Reederei_______id_SearchResult______ReedereiID________ ReedereiName
8128_____________8196_________________8__________________Cunard
8130_____________8198_________________10_________________Phoenix
gebiet
id_Destination__ id_SearchResult ____DestinationID ___DestinationName
18180__________8196________________72 _____________Transatlantik
18182 __________8198 _______________67_____________ Schwarzes Meer
18183 __________8198 _______________69_____________ Nordland
18186 __________8200 _______________69 _____________ Nordland
18188 __________8202 _______________69 _____________ Nordland
18190 __________8204 _______________69_____________ Nordland
18192 __________8206 _______________69_____________ Nordland
id_ship________id_SearchResult _____ShipID_________ShipName
8194 __________8196 _______________68_____________ Queen Mary 2
8196 __________8198_______________ 164 _____________ Albatros 1
8198 _________8200 -_______________164 -______________Albatros
8203_________ 8205 ________________35 _______________Celebrity
und ich brauche nachher die DestinationID ShipID und ReedereiID
ich habe drei dropdowns, die in abhängigkeit zueinander stehen
nun möchte ich z.b. im feld ship - ein ship auswählen - und dann sollen z.b. die felder destination und reederei entsprechend gefiltert werden, so dass im feld destination nur die gebiete angezeigt werden, in denen das schiff fährt und im feld reederei halt dann nur noch die reederei
wenn ich nach reset (alle dropdowns wieder lösche) im feld reederei eine auswähle, dann sollen nu im feld ship nur die schiffe angezeigt werden, die zur reederei gehören und im feld gebiet nuir die gebiete in denen die reederei reisen anbietet
ich habe z.b. folgende datensätze in der reederei
id_Reederei_______id_SearchResult______ReedereiID________ ReedereiName
8128_____________8196_________________8__________________Cunard
8130_____________8198_________________10_________________Phoenix
gebiet
id_Destination__ id_SearchResult ____DestinationID ___DestinationName
18180__________8196________________72 _____________Transatlantik
18182 __________8198 _______________67_____________ Schwarzes Meer
18183 __________8198 _______________69_____________ Nordland
18186 __________8200 _______________69 _____________ Nordland
18188 __________8202 _______________69 _____________ Nordland
18190 __________8204 _______________69_____________ Nordland
18192 __________8206 _______________69_____________ Nordland
id_ship________id_SearchResult _____ShipID_________ShipName
8194 __________8196 _______________68_____________ Queen Mary 2
8196 __________8198_______________ 164 _____________ Albatros 1
8198 _________8200 -_______________164 -______________Albatros
8203_________ 8205 ________________35 _______________Celebrity
und ich brauche nachher die DestinationID ShipID und ReedereiID
LÖSUNG 23.04.2016, aktualisiert um 22:59 Uhr
Ich find schon mal deinen Datenbankaufbau etwas merkwürdig. Bzw. ich verstehe sie nicht.
Nehmen wir die Tabelle reederei
Warum hast du da id_Reederei und ReedereiID drinnen? Und was ist id_SearchResult?
Den Punkt ReedereiName den würd ich separieren in eine Stammdatentabelle, wo nur eine Zuordnung von ID und Name erfolgt.
Zusammenführen kann man das über einen "Join" und du hast sauber abgegrenzt welche Reedereien gültig sind.
Ich würd's falls möglich eher so machen.
"Reederei"
id________________Name
8128_____________Cunard
8130_____________Phoenix
"Gebiet"
id________________Name
72_______________Transatlantik
67_______________SchwarzesMeer
69_______________Nordland
"Schiff"
id________________Name
8194_____________Queen Mary 2
8196_____________Albatros 1
"Fahrt"
id_______Id_Reederei____________ID_ship________________id_Destination
1_______8128___________________68_____________________69
2_______8198___________________164____________________67
Edit: bei der Tabelle fährt dann noch ein Kriterium ob das noch ein offener Posten ist oder nicht
für das Vorfiltern der Dropdowns ist mir das mal egal.
Ist sind nur 2 Spalten wichtig. Zum einen das Filterkriterium zum zweiten die wo die Werte für den Inhalt des anderen Dropdown's drinnen steht.
Bei mehreren ist das Grundprinzip auch nicht anders nur musst du die möglichen Varianten bedenken wie man es eingeben kann.
Nehmen wir die Tabelle reederei
Warum hast du da id_Reederei und ReedereiID drinnen? Und was ist id_SearchResult?
Den Punkt ReedereiName den würd ich separieren in eine Stammdatentabelle, wo nur eine Zuordnung von ID und Name erfolgt.
Zusammenführen kann man das über einen "Join" und du hast sauber abgegrenzt welche Reedereien gültig sind.
Ich würd's falls möglich eher so machen.
"Reederei"
id________________Name
8128_____________Cunard
8130_____________Phoenix
"Gebiet"
id________________Name
72_______________Transatlantik
67_______________SchwarzesMeer
69_______________Nordland
"Schiff"
id________________Name
8194_____________Queen Mary 2
8196_____________Albatros 1
"Fahrt"
id_______Id_Reederei____________ID_ship________________id_Destination
1_______8128___________________68_____________________69
2_______8198___________________164____________________67
Edit: bei der Tabelle fährt dann noch ein Kriterium ob das noch ein offener Posten ist oder nicht
für das Vorfiltern der Dropdowns ist mir das mal egal.
Ist sind nur 2 Spalten wichtig. Zum einen das Filterkriterium zum zweiten die wo die Werte für den Inhalt des anderen Dropdown's drinnen steht.
Bei mehreren ist das Grundprinzip auch nicht anders nur musst du die möglichen Varianten bedenken wie man es eingeben kann.
LÖSUNG 23.04.2016, aktualisiert 24.04.2016
geht leider nicht so - daten liegen per xml so vor und können nicht geändert werden
id_Reederei kann man vernachlässigen - ReedereiID ist relevant
schnittstelle ist die id_searchresult
id_Reederei kann man vernachlässigen - ReedereiID ist relevant
schnittstelle ist die id_searchresult