Dropdown-Listfelder

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

  • Dropdown-Listfelder

    Hallo PHP-Profis,

    ich möchte auf meiner Site drei Dropdown-Listfelder platzieren, deren Inhalt sich aus der Auswahl des Vorfeldes ergibt. Sinnvoll wäre hier zunächst der Einsatz von 3 MySQL-Tabellen.

    1. Feld (Land) zeigt eine Auswahl verschiedener Länder
    2. Feld (Region) zeigt die zum Land gehörenden Regionen
    3. Feld (Ort) zeigt die zu der Region gehörenden Orte

    In der MySQL-Tabelle Region ist eine Verknüpfung über die ID des Landes und in der Ortstabelle eine Verknüpfung über die ID der Region gegeben.

    Zur Laufzeit wählt also der Besucher zunächst das Land aus. Wenn er dann das Dropdownfeld der Region aufmacht, sieht er nur die Regionen dieses Landes. Nach der Auswahl der Region passiert das gleiche mit den Orten.

    Kann mir jemand mit einem verständlichen PHP-Code (inkl. der MySQL-Verknüpfung) aushelfen ?

    Für eine kurzfristige Antwort wäre ich sehr dankbar !

    Klaus
    Zuletzt geändert von klausjaede; 13.07.2004, 18:13.

  • #2
    Re: Dropdown-Listfelder

    Original geschrieben von klausjaede
    Hallo PHP-Profis,

    ich möchte auf meiner Site drei Dropdown-Listfelder platzieren, deren Inhalt sich aus der Auswahl des Vorfeldes ergibt. Sinnvoll wäre hier zunächst der Einsatz von 3 MySQL-Tabellen.

    1. Feld (Land) zeigt eine Auswahl verschiedener Länder
    2. Feld (Region) zeigt die zum Land gehörenden Regionen
    3. Feld (Ort) zeigt die zu der Region gehörenden Orte

    In der MySQL-Tabelle Region ist eine Verknüpfung über die ID des Landes und in der Ortstabelle eine Verknüpfung über die ID der Region gegeben.

    Zur Laufzeit wählt also der Besucher zunächst das Land aus. Wenn er dann das Dropdownfeld der Region aufmacht, sieht er nur die Regionen dieses Landes. Nach der Auswahl der Region passiert das gleiche mit den Orten.

    Für eine kurzfristige Antwort wäre ich sehr dankbar !
    ... und wir für eine kurzgefasste frage ... konnte kein "?" entdecken.
    Kissolino.com

    Kommentar


    • #3
      PHP-Code:
      <form enctype="multipart/form-data" name="crank" action="?action=content&action_content=content" method="post">
      <table width="550" border="0" cellspacing="0" cellpadding="0">
        <tr> 
            <td width="165" valign="top" class="boxtext">Main Kategorie w&auml;hlen:</td>
          <td width="21" class="boxtext">&nbsp; </td>
          <td width="314" valign="top">          
                  <select name="chosecat" class="boxtext" onChange="document.forms['crank'].submit()">
                  <option selected>Bitte auswählen...</option>
                  <?PHP
                   
      while($row_getcat mysql_fetch_assoc($result_getcat)) {
                    
      ?>
                  <option <?PHP if($selection == $row_getcat['name']) { echo 'selected '; }?>><?PHP echo ''.$row_getcat['name'].''?></option>
                  <?
                    }
                   ?>
                </select>
                </td>
                </tr>
        <tr> 
          <td width="165">&nbsp;</td>
          <td width="21">&nbsp;</td>
          <td width="314">&nbsp;</td>
        </tr>
        <tr> 
            <td width="165" valign="top" class="boxtext">Sub Kategorie w&auml;hlen:</td>
          <td width="21" class="boxtext">&nbsp; </td>
          <td width="314" valign="top">          
                  <select name="chosecat_getcat_sub" class="boxtext" onChange="document.forms['crank'].submit()">
                  <option selected>Bitte auswählen...</option>
                  <?PHP
                   
      while($row_getcat_sub mysql_fetch_assoc($result_getcat_sub)) {
                    
      ?>
                  <option <?PHP if($selection_getcat_sub == $row_getcat_sub['name']) { echo 'selected '; }?>><?PHP echo ''.$row_getcat_sub['name'].''?></option>
                  <?
                    }
                   ?>
                </select>
                </td>
                </tr>
      </table>
      so könnte dein form aussehen mit den dazugehörigen sql querys wird es funktionieren.
      The Human Mirror - Mein Blog!
      www.sonicsense.de - The future of music!

      Kommentar


      • #4
        Vielen Dank für die schnelle Hilfe, Hazzardous !

        Da ich ein absoluter PHP-Neuling bin, möchte ich unverschämter weise nochmal nachhaken:

        Ich habe 3 Tabellen: Laender (felder: L_ID, L_Name,)
        Region (felder: R_ID, R_Laender_ID,R_Name)
        Orte (felder: O_ID, O_Region_ID, O_Name)

        "R_Laender_ID" ist die Verknüpfung zu "L_ID"
        "O_Region_ID" ist die Verknüpfung zu "R_ID"

        O.K., ich öffne nun die MySQL-Datenbank (das ist soweit klar).

        Wie kriege ich nun die richtig selektierten Werte der drei Tabellen in die drei Dropdown-Listfelder ?

        Danke im Voraus für die Antwort !


        Klaus


        Kommentar


        • #5
          @klausjaede:
          man kann es auch mit einem Javascript "submit" machen, indem man das Selektieren im jeweiligen DropDown mit "onchange=" überwacht.
          Jedes Dropdown in eigenes Formular ohne Button und den jeweils gewählten Wert per PHP/MySQL auswerten um das neue Drop aufzubauen.
          Im eigentlichen Form werden die entsprechenden Werte jeweils als Hidden-Field gesetzt
          Code:
          <input type='hidden' ...>
          @Wurzel
          Original geschrieben von Wurzel
          ... und wir für eine kurzgefasste frage ... konnte kein "?" entdecken.
          Ich dachte, Mods haben etwas andere Aufgaben, als wirklich unhöfliche Kommentare an Fragen von höflichen Newbies zu geben, auch wenn diese mal die Interpunktion übersehen.
          Ich habe zum Beispiel in diesem Forum viel gelernt, obwohl ich auch nicht nur als Forums- sondern auch PHP-Newbie hier mal reinkam.
          Ich danke allen Moderatoren, die damals Toleranz auch bei blöd formulierten Fragen bewiesen und noch beweisen.

          Kommentar


          • #6
            Original geschrieben von Guido
            Ich dachte, Mods haben etwas andere Aufgaben, als wirklich unhöfliche Kommentare an Fragen von höflichen Newbies zu geben, auch wenn diese mal die Interpunktion übersehen.
            OffTopic:
            da magst du durchaus recht haben, nur war mir nicht einsichtig, wo genau das problem lag und die etwas "spitze" antwort lag wohl eher in der (nach meiner auffassung unhöflichen) drängelnden art der antworterwartung.
            aber vielleicht ist auch heute nicht mein tag

            für weitere kommentare zu dem thema, mag der netikette thread im OT-forum dienen.
            Kissolino.com

            Kommentar


            • #7
              @Wurzel: Du machst mir Hoffnung - ehrlich und couragiert!

              Kommentar


              • #8
                Wurzel muss doch ein sehr glücklicher Mensch sein, wenn er keine anderen Sorgen als ein fehlendes Fragezeichen (?) hat.

                Also pardon, dieser unverzeiliche Fehler wird nie wieder vorkommen.


                Klaus


                Kommentar

                Lädt...
                X