Select-Felder von einanderen abhängig aus SQL Tabellen befüllen

phpameise

Mitglied
Hat jemand Zeit mir zu helfen? Ich möchte 2 Select Felder abhängig befüllen. Man wählt im Feld 1 ein Land aus und bekommt dann im Feld 2 Städte angezeigt, die in diesem Land liegen. Ohne Anbindung an eine SQL Datenbank habe ich das bisher so gelöst:
Javascript:
var Deutschland = new Array("Berlin", "Hannover", "Hamburg");       // Erste Optionengruppe
  var France = new Array("Lyon", "Nantes", "Paris", ); // Zweite Optionengruppe
  var United Kingdom = new Array("Glasgow", "London", "Manchester"); // Dritte Optionengruppe


  function Landect(objForm, objSelVar){
  var objSel = objForm.Stadt;
  
  switch(objForm.Land.options[objForm.Land.selectedIndex].value){
      case "Deutschland"  : arrFeld = Deutschland;
                          break;
      case "France"  : arrFeld = France;
                          break;
      case "United Kingdom"  : arrFeld = United Kingdom;
                          break;
    }

    objSel.length = 0;

    for(var i=0; i<arrFeld.length; i++){
    objOpt = new Option(arrFeld[i], arrFeld[i], false, false);
    objForm.Stadt.options[objForm.Stadt.length] = objOpt;
    }
  }
HTML:
<form action="" method="post">
<p>
<select name="Land" onchange="Landect(this.form, this);">
  <option value="Deutschland ">Deutschland 
  <option value="France">France
  <option value="United Kingdom">United Kingdom
</select>
<select name="Stadt" size="1">
  <option value="Berlin>Berlin
  <option value="Hannover">Hannover
  <option value="Hamburg">Hamburg
</select>
</p>
</form>

Das funktioniert gut. Jetzt möchte ich aber gerne 2 SQL-Tabellen (tblStadt und tblLaender) nutzen.
Normalerweise frage ich die Datensätze doch nach diesem Muster ab:
PHP:
mysql_select_db($database_Bewerbung, $Bewerbung);
$query_Stadt_Satz = "SELECT Stadt, Land FROM tblStadt ORDER BY Stadt ASC";
$Stadt_Satz = mysql_query($query_Stadt_Satz, $Bewerbung) or die(mysql_error());
$row_Stadt_Satz = mysql_fetch_assoc($Stadt_Satz);
$totalRows_Stadt_Satz = mysql_num_rows($Stadt_Satz);

mysql_select_db($database_Bewerbung, $Bewerbung);
$query_Land_Satz = "SELECT * FROM tblLaender ORDER BY Land ASC";
$Land_Satz = mysql_query($query_Land_Satz, $Bewerbung) or die(mysql_error());
$row_Land_Satz = mysql_fetch_assoc($Land_Satz);
$totalRows_Land_Satz = mysql_num_rows($Land_Satz);

Aber wie binde ich die Datensätze jetzt in mein Select-Felder ein?
Bitte möglichst einfach erklären, sonst verstehe ichs bestimmt nicht ;)
Im Netz hab ich leider nichts gefunden.
 
Mit JavaScript kannst du keine Datenbanken befragen. Da muss noch irgendwas serverseitiges her (z.B. php).
Du kannst dann z.B. per AJAX einen Request an eine php Datei senden, welche die Datenbank abfrage erledigt und das Ergebnis zurück an dein JavaScript liefert.
 

Neue Beiträge

Zurück