Dynamische Dropdown-Listen mit Daten aus MySQL

Begonnen von timb, 20. August 2010, 08:16:37

Vorheriges Thema - Nächstes Thema

timb

Morgen,
ich habe ein Problem bei Dopdown-Listen in PHP in Verbindung mit MySQL.
Ich möchte aus der Datenbank zunächst einen Bereich auslesen. Je nachdem was hier ausgewählt wird, soll
in der nächsten Dropdown-Liste aus der Tabelle \"abschnitt\" die dazugehörigen Abschnitte angezeigt werden usw.
Ich habe es bis jetzt mit JavaScript versucht, um das Formular neu zu laden, aber leider wird in der zweiten Dropdown-Liste kein Eintrag angezeigt.
Hier ist der Quellcode:
 


function reload(form)
{
var val=form.Bezeichnung.value;
self.location=\'Datenpflege.php?postcode=\'+val ;
}
function reload2(form)
{
var val2=form.abschnitt.value;
self.location=\'Datenpflege.php?postcode=\'+val2 ;
}
 
Bitte auswählen: \";
echo \"Select one\";
   while($erg1 = mysql_fetch_array($quer1))
   {
    if($erg1[\'Bezeichnung\']==$bereich)
    {
$test=true;
      echo \"$erg1[bezeichnung]\".\"\";
    }
    else
     {
   echo  \"$erg1[bezeichnung]\";              
  }
}
    echo \"\";
//dropdown2    
 $bereich=$_GET[\'postcode\'];
 echo $bereich;
 if(isset($erg1[bID]) AND strlen($erg1[bID]) > 0)
   {
     $quer2=mysql_query(\"SELECT Bezeichnung, AbschnittID FROM abschnitt WHERE BID=\'\".$bereich.\"\' ORDER BY Bezeichnung ASC\");
   }
   echo \"Select one\";
   while($erg2 = mysql_fetch_array($quer2))
   {
    if($erg2[\'Bezeichnung\']==$abschnitt)
    {
       echo \"$erg2[bezeichnung]\".\"\";
    }
     else
     {
       echo  \"$erg2[bezeichnung]\";              
  }
   }
   echo \"\";
$abschnitt=$_GET[\'postcode\'];
echo $abschnitt;
Bitte auswählen: \";
echo \"Select one\";
   while($erg1 = mysql_fetch_array($quer1))
   {
    if($erg1[\'Bezeichnung\']==$bereich)
    {
$test=true;
      echo \"$erg1[bezeichnung]\".\"\";
    }
    else
     {
   echo  \"$erg1[bezeichnung]\";              
  }
}
    echo \"\";
//dropdown2    
 $bereich=$_GET[\'postcode\'];
 //echo $bereich;
 if(isset($erg1[bID]) AND strlen($erg1[bID]) > 0)
   {
     $quer2=mysql_query(\"SELECT Bezeichnung, AbschnittID FROM abschnitt WHERE BID=\'\".$bereich.\"\' ORDER BY Bezeichnung ASC\");
   }
   echo \"Select one\";
                               while($erg2 = mysql_fetch_array($quer2))
   {
    if($erg2[\'abschnitt\']==$abschnitt)
    {
       echo \"$erg2[abschnitt]\".\"\";
    }
     else
     {
       echo  \"$erg2[abschnitt]\";              }
   }
   echo \"\";
//$abschnitt=$_GET[\'postcode\'];
//echo $abschnitt;
echo \"\";  
?>

 
reload2 wurde noch nicht hinzugefügt.
Wäre für Hilfe sehr dankbar!

Powie

Also auf den Java Script kannst du verzichten, du musst ja die ganze Seite neu laden um auch den zweiten SQL laufen zu lassen der alles passende abholt.
Im Code oben vermisse ich den anfang des Formulars zum Bsp. Poste das doch komplett mal auf pastebin.com

timb

Danke für die schnelle Antwort. Bin leider erst heute wieder dazu gekommen.
Ich werds mal mit neu laden der Seite versuchen, sonst melde ich mich nochmal.

all your base are belong to us