rolan: Dynamische Listenfelder aus Mysql auslesen

Hallo

Ich habe auf einem Formular zwei Listenfelder / Kombinationsfelder. Nun soll die Listenauswahl des zweiten Listenfeldes abhängig sein vom gewählten Wert des ersten Listenfeldes.

Das ganze möchte ich noch dynamisch aus einer mysql Datenbank auslesen.

Z.B:
wenn ich auf dem ersten Listenfeld "Blatt" anwähle,
soll die Listenauswahl des zweiten Listenfelds automatisch die Datenbank abfragen und die dazupassende werte eintragen.
(A4, A3, A2 etc).

Ist das möglich? Wie?
Bitte um Hilfe.

  1. Hallo Rolan,

    Ich habe auf einem Formular zwei Listenfelder / Kombinationsfelder. Nun soll die Listenauswahl des zweiten Listenfeldes abhängig sein vom gewählten Wert des ersten Listenfeldes.

    Das ganze möchte ich noch dynamisch aus einer mysql Datenbank auslesen.

    Du hast 3 Möglichkeiten:

    Variante 1: Nach Auswahl eines Eintrages in Liste 1, wird das Formular abgeschickt. Auf dem Server musst du diesen Wert entsprechend verarbeiten und die zweite Liste füllen.

    Variante 2: Du arbeitest mit JavaScript. Das heißt, du musst deiner Seite alle Informationen mitgeben, die für die Anzeige benötigt werden und änderst den Wert der zweiten Liste mit JavaScript.

    Variante 3 (nur IE): Du nutzt das Modell der dynamischen Datenanbindung http://selfhtml.teamone.de/dhtml/modelle/datenanbindung.htm
    http://msdn.microsoft.com/workshop/author/databind/data_binding_node_entry.asp

    Ansonsten PHP findet ausschließlich auf dem Server statt. Die Listenauswahl ausschließlich beim Client. Der Server weiß nie was beim Client passiert. Deshalb musst du entweder eine clientseitige Technologie verwenden oder dem Server mitteilen, was beim Client passiert. Beides mischen geht nicht.

    Viele Grüße

    Antje

    1. Hallo Antje,

      Danke für Deine mühe.
      Variante 1 ist klar.
      Variante 2: Muss ich alle Daten in JS einbinden?
      Ist folgendes machbar: Möglichkeit dass JS startet eine Anfrage (MySql-DB) und anschließend in Listenfeld Nr. 2 die passende einträge?

      Danke in Voraus

      1. Hallo Rolan,

        Variante 2: Muss ich alle Daten in JS einbinden?
        Ist folgendes machbar: Möglichkeit dass JS startet eine Anfrage (MySql-DB) und anschließend in Listenfeld Nr. 2 die passende einträge?

        besser ist es, alle Daten einzubinden. Machbar ist auch folgendes:

        Du hast ein iframe in dem eine Seite mit einem Formular ist, dieses Iframe kannst du verstecken (visibility:hidden).
        Ändert sich die Listenauswahl, dass wird diese auf das Formular in den Iframe übertragen und dieses Formular abgeschickt. Die verarbeitende Serversoftware muss dann Informationen zurückliefern, die du mit JS auswerten kannst. Ich würde aber eher davon abraten, da kannst du gleich die Variante 1 verwenden.

        Viele Grüße

        Antje