2. Listenfeld per DB Dynamisch füllen

tschinkes

Mitglied
Hallo,
folgendes Problem, und zwar hab ich auf meiner Page ein Listenfeld, dieses wird mit Werten aus meiner Datenbank gefüllt. Nun wenn man einen Wert ausgewählt hat soll sich in meinem 2. Listenfeld eine neue Auswahl aus der DB passend laden.
Bsp mit Automarke, (gern genommen immer wieder :-) ):
Ich wähle in Listenfeld 1 die Marke Ford aus, dann soll im zweiten Listenfeld, alle Typen erscheinen, wie Escort, Fiesta usw.
Ich weiß, die ist am besten mit Javascript zu bewerkstelligen, aber ich kenn mich da gar net aus, somal ih ja noch die Datenbankabfrage dazu noch einbauen muss.
ich hoffe da kann mir jemand helfen.
 
tschinkes hat gesagt.:
Ich weiß, die ist am besten mit Javascript zu bewerkstelligen

rischtisch :-)

Weiß nicht genau ob es möglich ist auch mit Javascript auf eine Datenbank zuzugreifen, wenn würde ichs persönlich aber auch nicht machen.

Ich würde ein onChange Event der ersten Liste hinzufügen die das Formular an die selbe Seite abschickt. Per PHP kannst du dann ja den Wert der ersten Liste auswerten und damit die zweite Liste füllen.

Ein kleines Beispiel: [edit] runter scrollen ;)
 
Zuletzt bearbeitet:
Endlich mal jemand der mich gleich auf anhieb versteht :-)

Also so weit auch super logisch, aber wenn ich jetzt einen Wert aus der ersten Liste habe (ich mach es natürlich nach den id werten ;) )wie kann ich nun diesen wert verwenden und die auch dir idnumern zugeordneten Werte ausfiltern und in die zweite Liste einfüllen
 
OK, dann nochmal das Beispiel von vorhin in der Deluxe-Version *gg*

PHP:
<form name="testform" method="post" action="<?php echo $PHP_SELF; ?>">

  <select name="liste1" onChange="javascript:document.forms.testform.submit();">
    <option value="0"> - Auto Marke - </option>
    <option value="1">Audi</option>
    <option value="2">BMW</option>
    <option value="3">Mercedes</option>
  </select>

  <select name="liste2">
  	<?php
		switch($_POST['liste1']) {
			case 1:
				// Audi
				echo "<option value=\"1\">A80</option>";
				break;
			case 2:
				// BMW
				echo "<option value=\"2\">528i</option>";
				break;
			case 3:
				// Mercedes
				echo "<option value=\"3\">210cdi</option>";
				break;
			default:
				echo "<option value=\"0\">- Marke wählen -</option>";
		}
	?>
  </select>
</form>
 
Zurück