mehrere dynamische abhängige Drop-Down-Listen aus Datenbank befüllen

karl001

Grünschnabel
Hallo,

ich bin hier leicht am verzweiflen. Habe seit kurzem mich mit Javascript und AJAX beschäftigt und komme nicht so recht weiter. Ich möchte mehrere DropDown-Listen dynamisch befüllen. Zum Beispiel wähle ich in der ersten Box die Schulklasse und dann soll in der zweiten Box alle Schulkinder aus dieser Klasse angezeigt werden. Natürlich ohne die Seite komplett neuzuladen. Dazü müsste ja mindestens mal irgendwo der Wert aus der ersten Box im WHERE Statement für die zweite Box übergeben werden. Was sich recht einfach anhört bereitet mir schon seit Tagen Kopfweh. Irgendwie hapert an der PHP/Javacript Überschneidung. Könnte mir jemand da ein kurzes, verständliches, kleines Beispiel geben. Das wäre echt cool!

MfG Karl
 
Ja das Beispiel habe ich auch schon gefunden aber es will einfach nicht. Ich habe jediglich die box.php angepasst aber es kommt nur einen Submit Button obwohl der Index auch auf 1 gestellt ist. So sieht Sie jetzt aus:
PHP:
<?php
		//#########
	//box.php

	function make_box($parent)
	{
                             //db daten ausgeblendet
		$db2 = new Database($hostname,$userid,$passwd,$dbname);
		
	  $items=0;
	  $box='';
	  
	  if($parent)
	    {
	    	$query = "SELECT DISTINCT class, lastname, forename FROM students WHERE class='" .$parrent. "'";      
	      $db2->query($query);
	      while($db2->fetch_assoc())
	            {
	              switch($res['class']==$parent)
	                {
	                  case TRUE:
	                        $box='<select name="box['.$res['lastname'].']" onchange="request_data(this) ">
	                              <option value="-1">Auswahl</option>';
	                    continue;
	                  
	                  
	                  case FALSE:
	                        $items=1;
	                        $box.='<option value="'.$res['class'].'">';
	                        $box.=htmlentities($res['lastname']);
	                        $box.='</option>';
	                    continue;
	
	                }
	            }
	            
	            return(($items) 
	              ? $box.'</select>'
	              : '<input type="submit">');
	    }
	    
	    return('');
	  
	}
	
	@print(make_box((int)$_GET['box']));
  
?>
 
Code:
$query = "SELECT DISTINCT class, lastname, forename FROM students WHERE class='" .$parrent. "'";

Der der Funktion übergebene Parameter heisst $parent und nicht $parrent.
 
Zurück