HTML Auswahllisten in Abhängigkeit von einander

Crashdowns

Ensign
Registriert
Juni 2010
Beiträge
138
Einen schönen guten abend euch zusammen!
In meinem Projekt wird eine suchformular benötigt in form einer auswahlliste die ich bereits mit hilfe von html erstellt habe.

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Search</title>
</head>

<body>
<form action="formulardaten.html" method=get">

<select 

name="test1"

<option value="1" selected="selected">Bitte wählen</option>
<option value="2">wert 1</option>
<option value="3">wert 2</option>
</select>

<br />

<select 

name="test2"

<option value="1" selected="selected">Bitte wählen</option>
<option value="2">wert 1</option>
<option value="3">wert 2</option>
</select>

<br />

<select 

name="test3"

<option value="1" selected="selected">Bitte wählen</option>
<option value="2">wert 1</option>
<option value="3">wert 2</option>
</select>

<br />

        
<select 

name="test4"

<option value="1" selected="selected">Bitte wählen</option>
<option value="2">wert 1</option>
<option value="3">wert 2</option>
</select>

<br />

<input  type="submit"
		value="Search"
                name="Versand"
                style="background-color:blue; font-weight:bold;" />
<br />

</form>

</body>
</html>

Mich würde interessieren wie ich die Suchfelder in Abhängigkeit von einander ausfüllen kann. Wähle im ersten Teil Wert 1, danach wird in der nächsten liste der entsprechende inhalt aus einer datenbank geladen und dann immer so weiter.
Gewisse PHP kentnisse zur Lösung des problemes sind vorhanden.

Hat jemand eine idee zur Lösung des "problems"?

mfg crash
 
Also PHP ist zwar auch nützlich, aber das gehört eher in die Schiene Java-Script, in dem Fall wäre sogar AJAX interessant.

Ich würde mich zu JavaScript und Formularen mal ein wenig bei SelfHTML einlesen.
 
Ich würde es simpel machen:
Beim Menü1 ein onChange hinzufügen damit das formular abgesendet wird, im PHP-Teil dann abfragen ob menü 1 einen entsprechenden wert übermittelt hat, wenn ja kann er ja den inhalt für menü2 laden, den Menü1 Inhalt als selectet setzen und pipapo.
Und für den fall dass beide menüs einen entsprechenden Wert übergeben haben, die suche durchführen.

Das nur als Denkanstoß. Da ich hauptsächlich in PHP code wäre das meine erste wahl, jedoch müssen dafür natürlich php-server, ressourcen etc. bereitgestellt sein, falls die suche simpel ist und keine allzu komplexen mechanismen ausführen muss, würde ich eher auf JavaScript zurückgreifen.
Ist einfacher, braucht weniger einrichtung/ressourcen...
Aber für JS sollte lieber ein JS-coder rat geben ;)

MfG
Damon
 
Schau dir mal jQuery an. Mit load kannst du dynamisch Daten nachladen:
PHP:
<script type="text/javascript"> 
  $(document).ready(function() 
  { 
    $("#select1").change(function() // bei einer Änderung von #select1 ...
    { 
      var wert = $(this).children('option:selected').val(); // aktuelle Auswahl von #select1 in Variable wert speichern
      $("#select2").load("select.php",{value: wert});  // wert an select.php übergeben und diese Rückgabe in #select2 einfügen
    }); 
  }); 
</script>

...

<select id="select1">..</select>
<select id="select2">..</select>

In der select.php kannst du mit $_POST['value'] auf wert zugreifen, damit bspw. eine DB-Abfrage machen, und das Resultat mit echo zurückgeben. Diese Rückgabe wird dann in das select2 eingefügt.

select.php
PHP:
$sql = mysql_query("SELECT wert FROM tabelle WHERE xy = $_POST['value']");
while($row = mysql_fetch_object($sql))
{
  echo "<option>" . $row->wert . "</option>";
}

P.S. und mach deine öffnenden select-Tags ordentlich zu ;)
 
Zuletzt bearbeitet:
Schöner kann man den Code für SQL-Injections kaum vorbereiten... klar ist es exemplarisch gemeint, aber ich fahr auch nicht auf der Autobahn in entgegengesetzter Fahrtrichtung, nur um jemandem zu zeigen, wie die Gagnschaltung funktioniert...
 

Ähnliche Themen

M
Antworten
31
Aufrufe
8.076
McMoneysack91
M
Antworten
7
Aufrufe
1.759
Zurück
Oben