Ankündigung

Einklappen
Keine Ankündigung bisher.

dynamische abhängige Auswahllisten + MysqlDatenbank

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • dynamische abhängige Auswahllisten + MysqlDatenbank

    Hallo zusammen.

    Ich möchte gerne 2 dynamische Auswahllisten erstellen die von einander abhängig sind und beide jeweils ihre daten aus einer mysql datenbank holen.

    Die Auswahllisten mit Daten aus einer Mysql Datenbamk zu füllen
    stellt für mich kein Problem da.
    Jedoch schaffe ich es nicht die Auswahllisten abhängig von einander zu machen.

    Ohne eine datenbank Auswahllisten abhängig von einander zu gestalten habe ich schon geschafft.
    (Also die Werte fest in der Datei hinterlegen)
    Code:
    <head>
    <script language="Javascript">
    <!-- Start
    function update_auswahl(ziel)
    {
    var kategorieAuswahl = document.forms.verzeichnis.urlaubsziel;
    var unterkategorieAuswahl = document.forms.verzeichnis.urlaubsort;
    unterkategorieAuswahl.options.length = 0; // DropDown Menü entleeren
    if (kategorieAuswahl.options
    [kategorieAuswahl.selectedIndex].
    value == "mallorca"ziel)
    {
    unterkategorieAuswahl.options[0] = new Option("Cala Ratjada");
    unterkategorieAuswahl.options[1] = new Option("Paguera");
    }
    else if (kategorieAuswahl.options
    [kategorieAuswahl.selectedIndex].
    value == "GranCanaria")
    {
    unterkategorieAuswahl.options[0] = new Option("Playa de Muro");
    unterkategorieAuswahl.options[1] = new Option("Playa de Ingles");
    }
    }
    // Ende -->
    </script>
    </head>
    <body>
    <form name="verzeichnis"> 
    <select size="1" name="urlaubsziel" onChange="update_auswahl()"> 
    <option value="Mallorca" selected>Mallorca</option> 
    <option value="GranCanaria">GranCanaria</option> </select> 
    <select size="1" name="urlaubsort"> 
    <option selected>       </option> 
    <!--<option></option> --> 
    </select></form>
    </body>
    Hatte mir überlegt das vielleicht in etwa so zu machen(CODE STIMMT ABER NICHT,SIND NUR GEDANKENGÄNGE)
    function update_auswahl(varurlaubsziel) // HIER SOLL VOM ONCHANGE-EREIGNISS die SELEKTIERTE AUSWAHL ÜBERGEBEN WERDEN
    {
    var kategorieAuswahl = document.forms.verzeichnis.urlaubsziel;
    var unterkategorieAuswahl = document.forms.verzeichnis.urlaubsort;
    unterkategorieAuswahl.options.length = 0; // DropDown Menü entleeren
    if (kategorieAuswahl.options
    [kategorieAuswahl.selectedIndex].
    value == varurlaubsziel) //HIER SOLL DANN DURCH DEN ÜBERGEBENEN WERT (URLAUBSZIEL) ZUNÄCHST EINMALL EINE NEUE
    // ABFRAGE ERSTELLT WERDEN IN DER NACH DEN URLAUBSORTEN GESUCHT WERDEN SOLL
    $var = urlaubsort;
    $sql = blablabla......
    {
    unterkategorieAuswahl.options[0] = new Option(varurlaubsort);//Hier werden dann die urlaubsorte angezeigt
    }
    1. Weiß ich leider nicht wie ich dann beim ONCHANGE den Ausgewählten(SELEKTIERTEN) Urlaubsort der function update_auswahl() übergeben soll.
    2. Wüßte ich nicht wie ich in der Javascript Funktion php code und somit die mysql abfrage benutzen kann

    Wäre schön wenn mir jemand helfen könnte,
    zerbreche mir nämlich schon 2 tage den Kopf darüber.

  • #2
    Hallo und herzlich willkommen!

    Was soll das hier im Profi-Forum?
    Du solltest dich erstmal damit befassen, dass JavaScript und PHP vollkommen andere Arbeitsgebiete haben. Das eine läuft auf dem Server, das andere auf dem Client-Rechner. Du kannst zwar PHP in JavaScript-Code einbetten, bloß wird der PHP-Code dann zunächst auf dem Webserver ausgeführt und das Verbliebene JavaScript sowie die Ausgabe des PHP-Codes werden dann an den User gesendet.
    Siehe auch Frage #6.
    Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

    Kommentar


    • #3
      Hallo,

      1. Weiß ich leider nicht wie ich dann beim ONCHANGE den Ausgewählten(SELEKTIERTEN) Urlaubsort der function update_auswahl() übergeben soll.
      Du musst dir das aktuelle ausgewählte Ziel aus dem Formular aussuchen und mit window.location() die neue URL aufrufen. Alternativ dazu kannst du auch den Inhalt des zweiten Felds mit Werten, die du per XMLHTTPRequest vom Server empfängst onchange() füllen.

      2. Wüßte ich nicht wie ich in der Javascript Funktion php code und somit die mysql abfrage benutzen kann
      Das ist ganz einfach. Frag einfach per XMLHTTPRequest Inhalte von einer URL ab - am Besten als XML-String - und verarbeite diesen im JAVA-Script. Eine plain Variante habe ich mal für einen Pager implementiert, vielleicht kannst du dir da was abschauen: http://adventure-php-framework.org/Page/061-AJAX-and-the-APF/~/sites_demosite_biz-action/setLanguage/lang/en. Kapitel 4.4.3 zeigt, wie man mit dem XMLHTTPRequest-Objekt arbeitet und dieses als Datenquelle nutzen kann.
      Viele Grüße,
      Dr.E.

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      1. Think about software design [B]before[/B] you start to write code!
      2. Discuss and review it together with [B]experts[/B]!
      3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
      4. Write [I][B]clean and reusable[/B][/I] software only!
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      Kommentar


      • #4
        Hallo freakymiky und herlich willkommen im Forum,

        aus dem hier:
        1. Weiß ich leider nicht wie ich dann beim ONCHANGE den Ausgewählten(SELEKTIERTEN) Urlaubsort der function update_auswahl() übergeben soll.
        2. Wüßte ich nicht wie ich in der Javascript Funktion php code und somit die mysql abfrage benutzen kann
        schließe ich einfach mal ganz frech, dass du kein PHP-Profi bist und da das ganze auch eher ein javaScript-Problem zu sein scheint verschiebe ich es mal ins JavaScript-Abteil...

        Zu deinem Problem:

        Du hast prinzipiell 2 Möglichkeiten: Entweder du stellst deinem JavaScript schon alle benötigten Daten bereit (also was für welche Auswahl wann angezeigt werden soll) oder du lädst es per AJAX nach.
        Jenachdem um wieviele Daten/Einträge es da bei dir geht ist eines der beiden die sinnvollere Alternative

        Eine "Vermischung" von PHP und JavaScript wie du es dir vorstellst gibt es nicht, da PHP auf dem Server und damit immer VOR JavaScript ausgeführt wird...

        edit: Man bin ich langsam. Vergiss was ich gesagt habe
        [URL="https://www.quizshow.io/"]Create your own quiz show.[/URL]

        Kommentar


        • #5
          @agrajag: Sorry, meine Verschieberei hat sich mit deiner überlagert, ich habe den Post nun "wieder zurück" nach JavaScript geschoben.
          Viele Grüße,
          Dr.E.

          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          1. Think about software design [B]before[/B] you start to write code!
          2. Discuss and review it together with [B]experts[/B]!
          3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
          4. Write [I][B]clean and reusable[/B][/I] software only!
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

          Kommentar


          • #6
            Zitat von dr.e.-new Beitrag anzeigen
            @agrajag: Sorry, meine Verschieberei hat sich mit deiner überlagert, ich habe den Post nun "wieder zurück" nach JavaScript geschoben.
            Nene, du warst einfach schneller, ich hatte es noch garnicht verschoben, hab' nur gesehen, dass du es in der Zwischenzeit schon verschoben hattest...

            Aber abwarten, wir sehen ja dann ob die Probleme eher im PHP oder im JavaScript begraben liegen
            [URL="https://www.quizshow.io/"]Create your own quiz show.[/URL]

            Kommentar


            • #7
              Es gibt noch die 3. (eigentlich naheliegendste und JS unabhängige Variante): Normaler Form Submit und Reload, Auswerten der Daten des ersten Selects, markieren des aktuellen Datensatzes, Auslesen der zur Selection passenden Daten und Darstellen des 2. Selects.
              Ohne JS klappt diese Variante natürlich nicht mit einem onChange Ereignis, aber sie bietet eine Grundfunktionalität und kann aber damit erweitert werden, wenn JS angeschaltet ist. Ist natürlich nicht ganz so Web2Nullig.
              Die beste Lösung wäre die gerade beschriebene, die für aktives JS mit einer Variante 1 bzw. 2 erweitert wird.
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar

              Lädt...
              X