Chained select - abhängige dropdowns

Mitglied: jensgebken

jensgebken (Level 2) - Jetzt verbinden

23.04.2016 um 16:56 Uhr, 1968 Aufrufe, 15 Kommentare

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
Mitglied: wiesi200
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.
Bitte warten ..
Mitglied: jensgebken
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/
Bitte warten ..
Mitglied: wiesi200
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.?
Bitte warten ..
Mitglied: jensgebken
23.04.2016 um 18:50 Uhr
Kannst du mir dabei helfen
Bitte warten ..
Mitglied: wiesi200
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/
Bitte warten ..
Mitglied: wiesi200
23.04.2016 um 19:16 Uhr
Hey,

das sollte genau das sein was du brauchst

https://css-tricks.com/dynamic-dropdowns/
Bitte warten ..
Mitglied: jensgebken
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
Bitte warten ..
Mitglied: wiesi200
23.04.2016 um 20:10 Uhr
Ist doch im Endeffekt das selbe in grün. Nur das du zwei unterschiedliche Abfragen hast.
Bitte warten ..
Mitglied: jensgebken
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
Bitte warten ..
Mitglied: wiesi200
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.
Bitte warten ..
Mitglied: jensgebken
23.04.2016, aktualisiert um 21:30 Uhr
... aber ich muss doch vergleichen nach id_searchresult
Bitte warten ..
Mitglied: wiesi200
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.
Bitte warten ..
Mitglied: jensgebken
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
Bitte warten ..
Mitglied: wiesi200
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.
Bitte warten ..
Mitglied: jensgebken
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
Bitte warten ..
Heiß diskutierte Inhalte
Off Topic
Ein Weg weg von Microsoft. Wie würde man es angehen? Lasst uns doch etwas spinnen
it-fraggleVor 16 StundenAllgemeinOff Topic48 Kommentare

Guten Morgen Kollegen, es treibt mich schon seit einigen Jahren um, dass es sinnvoll wäre langsam einen Weg weg von Microsoftprodukten zu finden. Mir ...

Batch & Shell
Wieso funktioniert das nicht?
gelöst Hundy132Vor 1 TagFrageBatch & Shell10 Kommentare

Hallo Freunde, kann mir irgendjemand sagen wieso meine Batch datei nicht funktioniert? So sieht Sie aus: Hier soll ein ein vorgegebenes Passwort Eingegeben werden ...

Router & Routing
Probleme mit VPN Verbindung über shrewsoft
martenkVor 1 TagFrageRouter & Routing25 Kommentare

Hallo Gemeinschaft, habe ein Problem mit der o.g. Verbindung die Verbindung wird aufgebaut und ich kann auch den entfernten Rechner anpingen unter ipconfig sehe ...

Server-Hardware
HPE ProLiant MicroServer Gen10 Plus - Wo wird das OS installiert?
mayho33Vor 1 TagFrageServer-Hardware13 Kommentare

Hallo @ All, Ich liebäugle mit einem neuem Server (siehe Überschrift). Mein alter Gen8 ist zwar immer noch am laufen, aber es gibt einiges ...

Windows Server
Server 2019 RDS-CALs für Domänen-Admins? Ernsthaft?
gelöst anteNopeVor 23 StundenFrageWindows Server7 Kommentare

Nabend zusammen, ich habe hier heute einen RDS auf Basis eines Server 2019 STD installiert und mit User-CALs lizenziert. Soweit funktioniert auch alles. Nur ...

Exchange Server
Outlook Automatisch auf alle eingehendem Mail eine Antwortvorlage versenden
shooanVor 1 TagFrageExchange Server12 Kommentare

Guten Morgen, ich hätte da gerne mal ein Problem zur Lösung. Auf das Freigegeben Postfach Bewerbung@ wünscht nun die Führung das auf alle Mail ...

Exchange Server
Transparente Mail-Archivierung Exch. 2016 m. direktem Outlook-Zugriff
departure69Vor 1 TagFrageExchange Server17 Kommentare

Hallo. - Windows 2016 AD-Domäne, 2 DCs unter W2K16 Std. (1 x physisch, 1 x virtuell unter Hyper-V), Funktionsebene 2016 - Exchange 2016 unter ...

LAN, WAN, Wireless
100m GBit-Richtfunk im Freien - Produktempfehlungen?
mstrd308Vor 1 TagFrageLAN, WAN, Wireless9 Kommentare

Hallo zusammen, ich bin auf der Suche nach Produktempfehlungen um einen Richtfunk von einem Gebäude zu einen weiteren zu realisieren. Die Peripherie soll draußen ...