[JavaScript] Dynamisches Dropdown 3 Ebenen

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

  • [JavaScript] Dynamisches Dropdown 3 Ebenen

    Hallo,

    Gleich vorweg, ich hab nicht die Ahnung von JavaScript aber finde es
    ist eine praktische Lösung für mein Problem. Theoretisch könnte ich auch alles mit Refreshen lösen aber das ist schrott....

    Vor einiger Zeit hab ich ein Dynamisches Dropdown zusammengebastelt was mir erstmal alle Hauptkategorien aus meiner Datenbank holt. Und passend zur Auswahl der Hauptkategorie werden die Unterkategorien ausgegeben. Das war schon schlimm genung

    So sieht das ganze aus....

    HTML Datei (Template)

    PHP-Code:
    <select size='1' name='kategorie' onchange='update_auswahl()' 
    style="border-style:solid; border-width:1px; color:#FFFFFF; 
    background-color:#800000"
    >
     {
    $hauptkategorie}
    </
    select>
              
    <
    select size='1' name='unterkategorie'  style="border-style:solid; 
    border-width:1px; color:#FFFFFF; background-color:#800000"
    >
    {
    $unterkategorie}
    </
    select

    PHP Datei

    PHP-Code:
    $b=mysql_query("Select p1.id,p1.kategorie from pv_kategorien p1, 
    pv_kategorien p2 where p2.u_id = p1.id and p1.u_id IS NULL group
    by id ORDER by p1.kategorie"
    ) or die(mysql_error());
        
        while(
    $temp=mysql_fetch_array($b)){
        
    $hauptkategorie.= "<option 
    value='
    $temp[kategorie]'>$temp[kategorie]</option>";
        }
        



    $c=mysql_query("Select p2.id,p2.u_id from pv_kategorien p1, 
    pv_kategorien p2 where p1.id = p2.u_id and p1.u_id IS NULL 
    ORDER by p1.kategorie LIMIT 1"
    ) or die(mysql_error());
    list(
    $id_now,$id_show)=mysql_fetch_row($c);

    $d=mysql_query("Select kategorie from pv_kategorien where 
    u_id = 
    $id_show and u_u_id IS NULL order by kategorie") or 
    die(
    mysql_error());
        
        while(
    $temp2=mysql_fetch_array($d)){
        
    $unterkategorie.="<option value='$temp2[kategorie]'>$temp2[kategorie]</option>";
        } 

    JavaScript

    PHP-Code:
    <!-- Start
    function update_auswahl()
    {
    var kategorieAuswahl = document.forms.verzeichnis.kategorie;
    var unterkategorieAuswahl = document.forms.verzeichnis.unterkategorie;
    unterkategorieAuswahl.options.length = 0; // DropDown Menü 
    entleeren


    <?php
    //Hauptkats ausgeben
    $a=mysql_query("Select p1.id,p1.kategorie, p2.u_id from 
    pv_kategorien p1, pv_kategorien p2 where p2.u_id = p1.id and 
    p1.u_id IS NULL group by id ORDER by p1.kategorie"
    ) or 
    die(
    mysql_error());

      while(
    $temp=mysql_fetch_array($a)){
       
    ?>



    if (kategorieAuswahl.options[kategorieAuswahl.selectedIndex].value == "<?php echo $temp[kategorie]; ?>")
    {

    <?php
    $b
    =mysql_query("Select kategorie from pv_kategorien 
    where u_id = 
    $temp[id] order by kategorie") or die(mysql_error());

    $counter 0;

      while(
    $temp2=mysql_fetch_array($b)){
    ?>

    unterkategorieAuswahl.options[<?php echo $counter?>] = new 
    Option("<?php echo $temp2[kategorie]; ?>");

    <?php
      $counter
    ++;
      }
    ?>

    }


    <?php
      
    }
    ?>


    }
    // Ende -->

    Ok das funktioniert auch alles super.... Nur wie kann ich das ding
    jetzt so erweitern das es nun auf 3 Ebenen läuft... Hier nochmal
    meine Datenbank, die ist aber schon auf 3 ebenen erweitert.



    Denke was hier Hauptkat, Unterkat und Unterunterkat ist
    klar... Wenn nicht einfach fragen :-)

    Danke schonmal..!
    Zuletzt geändert von Sebastian.J; 03.07.2005, 18:39.

  • #2
    Von Code umbrechen hältst du wohl generell nichts?

    Kommentar


    • #3
      Original geschrieben von TobiaZ
      Von Code umbrechen hältst du wohl generell nichts?
      Jetzt ist alles gebrochen

      Kommentar

      Lädt...
      X