tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
389
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Thisi76 Thisi76 ist offline Grünschnabel
    Registriert seit
    Feb 2009
    Beiträge
    4
    Hallo,

    ich habe nun schon ein paar Ansätze gefunden wie ich es mache, habe aber das Gefühl, dass ich auf dem Holzweg bin.

    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    include (
    "../dbconnect.php");
     
      if (empty(
    $_GET["auswahl"])){
      echo 
    '          
    <html>
    <head>
    <title> DropDown aus SQL-Daten </title>
    <script type="text/javascript">
    function auswaehlen(s){
           wert=s.options[s.selectedIndex].value;
             if(wert!=0){
                location.href="DropDownDrei.php?auswahl=" + wert;
             }
             else{
                location.href="DropDownDrei.php";
             }
          }
    </script>
    </head>
    <body>
    <form action="" method="post">
        '
    ;      
          echo 
    "<select name='drop1' onChange='auswaehlen(this)'>";
          echo 
    "<option value=''>Bitte w&auml;hlen...</option>";
          
          
    $query="SELECT Id, CategoryOverview FROM CategoryOverview";
          
    $ergebnis mysql_query($query) or die("Err.:".mysql_error());
          
    //echo ($query);
             
    while($row=mysql_fetch_array($ergebnis)){
                echo 
    "<option value='".$row["Id"]."'>".$row["CategoryOverview"]."</option>";
             } 
    //while $row
             
    echo "<option value='0'>zur&uuml;ck...</option>";
             echo 
    "</select>";
      }
      else
      { 
      echo
    '
      <form action="" method="post">
        '
    ;  

          echo 
    "<select name='drop2' onChange='auswaehlen(this)'>";
          echo 
    "<option value=''>Bitte w&auml;hlen...</option>";
          
          
    $query="SELECT Id, Category FROM Category WHERE IdCategoryOverview='".$_GET['auswahl']."'";
          
    $ergebnis mysql_query($query) or die("Err.:".mysql_error());
          
    //echo ($query);
             
    while($row=mysql_fetch_array($ergebnis)){
                echo 
    "<option value='".$row["Id"]."'>".$row["Category"]."</option>";
             } 
    //while $row
             
    echo "<option value='0'>zur&uuml;ck...</option>";
             echo 
    "</select>";
       }
       
    ?>
    </form> 
    </body>
    </html>
    Es funktioniert, dass ich beim ersten DropDown einen Eintrag auswähle und dann den ausgewählten Wert übergebe. Mit diesem Wert frage ich in der zweiten Abfrage die nächste befüllung des zweiten DropDown ab. Bis hierhin funktioniert das ganze einwandfrei. Nur wenn ich nun einen Eintrag im zweiten DropDown auswähle passiert nichts mehr. Ab hier komme ich nicht mehr weiter.

    Ich brauche insgesamt drei DropDown die im Wasserfallprinzip aufgebaut sind (1 ohne Abhängigkeit, 2 abhängig von 1 und 3 abhängig von 2)

    Nun meiner Fragen:
    Gibt es vielleicht einen "besseren" Weg das ganze zu erstellen, wenn ja wie oder aber bin ich auf dem "richtigen" Weg und mir fehlt nur noch ein kleiner Teil. Ich bin für alles offen.

    Besten Dank & Gruß,
    Thisi
     

  2. #2
    Thisi76 Thisi76 ist offline Grünschnabel
    Registriert seit
    Feb 2009
    Beiträge
    4
    Nachtrag:

    ich bekomme jetzt immer eine Fehlermeldung vom JS "Objekt erwartet". Vielleicht sagt einem das was.

    Danke & Gruß,
    Thisi
     

  3. #3
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Du kannst doch einfach mit einer IF-Abfrage zuerst einmal steuern ob die zweite bzw. die dritte Auswahlbox überhaupt angezeigt wird.

    Wenn ein Wert von Auswahlbox 1 übergeben wird, wird die Auswahlbox 2 angezeigt und es wird die SELECT-Anweisung ausgeführt, die diese Box mit Daten füllt.

    Wenn ein Wert von Auswahlbox 2 übergeben wird (was nur sein kann wenn auch schon ein Wert von Box 1 ankommt) wird die Auswahlbox 3 angezeigt und es wird ebenfalls die SELECT-Anweisung ausgeführt um Box 3 zu füllen.

    PHP-Code:
    IF (ISSET($_GET["auswahl1"]) AND $_GET["auswahl1"] != "") {
      
    // SELECT-Anweisung ausführen und Auswahlbox 2 anzeigen
    }

    IF (ISSET(
    $_GET["auswahl2"]) AND $_GET["auswahl2"] != "") {
      
    // SELECT-Anweisung ausführen und Auswahlbox 3 anzeigen

     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  4. #4
    Thisi76 Thisi76 ist offline Grünschnabel
    Registriert seit
    Feb 2009
    Beiträge
    4
    Bin mir jetzt nicht sicher, ob mir deine Antwort wirklich weiterhilft. Im Moment funktioniert das DropDown wie folgt:

    Beim Start der Seite wird der Inhalt für das erste DropDown gefüllt. Jetzt wähle ich hier einen Eintrag aus, die Seite wird neu geladen und das zweite DropDown (mit dem WHERE von Auswahl 1) wird angezeigt. Nun funktioniert der klich auf das DropDown zwei nicht mehr. Hier passiert nichts mehr aus der Fehlermeldung "Objekt erwartet". Bei deiner Lösung habe ich noch keine Werte übergeben sondern "nur" die Unterscheidung gemacht was ich anzeigen will. Das war aber eigentlich nicht das Problem. Oder bin ich jetzt total daneben?

    Frage,
    Thisi
     

  5. #5
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    So bald du in der Box 1 einen Wert auswählst, sendet dein Java Script die Seite mit eben diesem Wert ab.

    Wenn jetzt die Seite erneut mit diesem Wert geladen wird, hast du den Wert übergeben durch den du die Box 2 befüllst (da ein Wert übergeben wird, wird die Box zum einen überhaupt angezeigt und zum anderen die entsprechenden Werte für diese Box ermittelt).

    PHP-Code:
    // Wird nur ausgeführt, wenn die Seite mit einem Wert der Box 1 geladen wird
    IF (ISSET($_GET["auswahl1"]) AND $_GET["auswahl1"] != "") {
      
    // SELECT-Anweisung ausführen und Auswahlbox 2 anzeigen

    Da bis jetzt von Box 2 noch nichts übergeben wurde, wird bis jetzt nur Box 1 (die ja immer angezeigt wird) und Box 2 angezeigt.

    Wenn du jetzt in Box 2 einen Eintrag auswählst, wird die Seite durch das Java Script erneut abgeschickt. Diesmal mit den Wert der Box 1 und dem Wert von Box 2.

    Wenn die Seite jetzt geladen wird, wird nochmals die Box 2 angezeigt und gefüllt und gleich im Anschluß wird durch den zweiten Wert auf die Box 3 angezeigt und entsprechend befüllt.

    PHP-Code:
    // Wird nur ausgeführt, wenn die Seite mit einem Wert der Box 2 (und somit auch Wert von Box 1) geladen wird
    IF (ISSET($_GET["auswahl2"]) AND $_GET["auswahl2"] != "") {
      
    // SELECT-Anweisung ausführen und Auswahlbox 3 anzeigen

    Der Fehler den du jetzt noch hast, ist das Java Script. Es wird immer nur die Variable "auswahl" übergeben, welche den Wert der Box 1 enthält. Du musst aber in das Script noch den Wert der Box 2 reinbringen!!
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  6. #6
    Thisi76 Thisi76 ist offline Grünschnabel
    Registriert seit
    Feb 2009
    Beiträge
    4
    Ah, habe ich soweit verstanden. Ich werde das mal ausprobieren und dann den gesamten veränderten Code Posten. Bin mal gespannt was da raus kommt.

    Danke schon mal und bis bald.

    Grüße,
    Thisi
     

Ähnliche Themen

  1. Dropdown
    Von Crash123 im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 02.03.09, 10:23
  2. Dropdown im ie 6
    Von pitchi im Forum CSS
    Antworten: 2
    Letzter Beitrag: 26.11.08, 23:04
  3. IE7 & css-dropdown
    Von gingerale im Forum CSS
    Antworten: 1
    Letzter Beitrag: 21.02.07, 06:18
  4. Dropdown mit variierendem Folge-Dropdown
    Von die_Ahnungslose im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 11.10.05, 18:22
  5. Antworten: 2
    Letzter Beitrag: 22.01.04, 15:50