Menüfelder verknüpfen

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

  • Menüfelder verknüpfen

    So ich weis leider nicht ob das Thema hier so passend ist oder ob es sich hiermbei mehr um JavaScript handelt.

    Ich habe drei Menüfelder dessen Daten ich zum Teil aus einer Datenbank auslse. Nun möchte ich aber das wenn das erste Feld ausgewählt wurde im zweiten nur noch bestimmte kriterien verfügbar sind. Geht das?

    PHP-Code:
          <option selected  value="">Organisation</option>
                  <option value="ASB">Arbeiter Samariter Bund</option>
                  <option value="Chr">Christoph</option>
                  <option value="DRK">Deutsches Rotes Kreutz</option>
                  <option value="FLO">Feuerwehr</option>
                  <option value="FKT">Freier Krankentransport</option>
                  <option value="JUH">Johanniter</option>
                  <option value="MHD">Malteser</option>
                  <option value="Otto">Polizei</option>
                  <option value="Heros">THW</option>
                </select> <br> <select name="fahrzeug">
                  <option selected value="">Fahrzeug</option>
                  <? 
              include("config.php");
              $result2 = mysql_query("SELECT * FROM $table07");
    while($row2 =mysql_fetch_array($result2)){
    $kurz = $row2[kurz]; 
    $ken = $row2[kennung];
    echo"<option value='$ken'>$kurz</option>";
    }
    Zuletzt geändert von wentzel; 29.12.2005, 09:07.

  • #2
    und zwar handelt es sich um das zweite feld. wenn man den ersten punkt gewählt hat, sollen in feld 2 nur die datenstehen wo in der datenbank der wert aus feld 1 steht

    Kommentar


    • #3
      1. keiner braucht hier deinen html-code. reduziere diesen code bitte auf das wesentliche - der rest interessiert keinen.

      2. beschreibe dein problem genauer. ich kann mit
      bestimmte kriterien verfügbar sind
      nichts anfangen. ebenso ist
      das zweite feld
      für mich kein begriff. das einzige, was ich glaube verstanden zu haben, ist dass du irgendetwas in richtung ajax brauchst, um den inhalt einer dropdown-box dynamisch zu füllen.

      3. arbeite stets mit E_ALL.

      Kommentar


      • #4
        Nach Auswahl der Organisation (Feld 1) sollen im Feld 2 (Fahrzeuge) nur noch Fahrzeuge auftauchen die zu dieser Organisation gehören. In der Datenbanktabelle 7 stehen im Feld 'kat' die Organisationen der Fahrzeuge.

        Kommentar


        • #5
          Entweder Ajax oder JavaScript.

          JavaScript:
          onchange Feld 1, this.location.href='meine_seite.php?feld1=meine_auswahl'. Wenn dann feld1 gesetzt ist beschränkst du die auswahl in Feld 2 entsprechend.

          Kommentar


          • #6
            Hallo wentzel,

            deine Frage taucht hier öfter mal auf - suche mal nach "abhängige Listen" da sollte was für dich dabei sein. Auch in den Tutorials gibt es ein Beispiel mit Erläuterungen dazu ...

            Kommentar


            • #7
              also ich bin nun schonsoweit das ich das tutorial gemacht habe. dennoch habe ich das problem, das wenn ich das so wie im tutorial aufbau kommt nichts. sprich weiße seite.

              nun hab ich den head teil abgeändert und es kommt zwar die seite dafür aber keinerlei funktion

              PHP-Code:
              <script type="text/javascript">
              <!--
              <?php
              // abhängiges Kombifeld erzeugen
              include("config.php");
                  
              $rs=mysql_query("select * from $table07");
                  
              $rows=mysql_num_rows($rs);
                  echo 
              "\tvar liste2=new Array($rows)\n"
                  
              "\tfor(var i=0;i<liste2.length;i++)\n"
                  
              "\t\tliste2[i]=new Array(2);\n";
                  
              $n=0;
                  while(
              $zeile=mysql_fetch_assoc($rs)) {
                      echo 
              "\tliste2[$n][0]=".$zeile['id'].";\n"
                      
              "\tliste2[$n][1]='".$zeile['name']."';\n"
                      
              "\tliste2[$n][2]=".$zeile['kat'].";\n";
                      
              $n++;
                  }
              ?>
              function update_fahrzeug() {
                  var x=document.frm_auswahl.fahrzeug.length;
                  for(var n=0; n<x; n++)
                      document.frm_auswahl.fahrzeug.options[0]=null;
                  for(n=0; n<liste2.length; n++) {
                      if(liste2[n][2]==document.frm_auswahl.drp1.value) {
                          var NeuerEintrag=new Option(liste2[n][1], liste2[n][0]);
                          document.frm_auswhal.fahrzeug.options[document.frm_auswahl.fahrzeug.length]=NeuerEintrag;
                      }
                  }
              }
              -->
              </script>

              Kommentar


              • #8
                dann schau dir mal den erzeugten Quelltext deiner Seite nach PHP-Fehlern an und prüfe ob der Browser JavaScript Fehler ausgibt. Diese Fehler dann so weit wie möglich selbst beheben und den Rest hier wieder posten - am besten mit deimen erzeugten Quelltext (ggf. sinnvoll kürzen)

                Kommentar

                Lädt...
                X