Seite 1 von 1
Dynamische Formulare -wie?
Verfasst: 06.03.2003 17:34
von steveurkel
Also erstmal was ich mir vorstelle. Ich möchte ein Forumlar haben, wo es zwei Select-Auswahllisten gibt. In der ersten Liste kann man Länder auswählen, dann sollen je nachdem welches Land man auswählt, in der zweiten Liste Städte aus dem Land erscheinen. Wie mache ich das jetzt am dümmsten. Dazu sei noch gesagt, dass soll alles auf DB-Daten beruhen.
Hab auch schon mal ne Google-Session eingelegt, aber dazu findet man nie Codebeispiele immer nur irgendwelche Seiten mit Angeboten für Seminare, die kein Mensch bezahlen kann
Wäre für Hilfe dankbar.
Verfasst: 06.03.2003 18:08
von Pyramide
Etwa so:
Code: Alles auswählen
echo '<form ...>';
if(empty($_REQUEST['land']))
{
echo '<select name="land" size="1">';
$r = mysql_query("SELECT DISTINCT land FROM tabelle");
while($row=mysql_fetch_array($r))
{
echo "<option value=\"$row[land]\">$row[land]</option>";
}
echo '</select>';
}
else
{
echo '<select name="stadt" size="1">';
$r = mysql_query("SELECT stadt FROM tabelle WHERE land='$_REQUEST[land]'");
while($row=mysql_fetch_array($r))
{
echo "<option value=\"$row[stadt]\">$row[stadt]</option>";
}
echo '</select>';
}echo '</form>'
Verfasst: 07.03.2003 09:35
von steveurkel
Ja, danke erstmal, aber Dein Beitrag hat mich auf ne Idee gebracht und da habe ich mir selbst was programmiert. Das basiert auf Javascript, ist aber keine große Sache, da er nur das Formular bei Änderung in der Selectliste abschickt.
Der Javascript-Code:
Code: Alles auswählen
<script language="JavaScript">
<!--
function abschicken()
{
document.flug.aendern.value=2;
document.flug.submit();
}
//-->
</script>
mit dem Formularcode
Code: Alles auswählen
<form name="flug" action="<? echo($PHP_SELF); ?>" method="POST" target="">
<input type="hidden" name="aendern" value="1" />
...
<select onChange="abschicken()" name="hin_von_land" size="1">
...
Wenn also das Formular nach einer Änderung über die abschicken()-Funktion abgesendet wird, dann wird auch der Wert von "aendern" auf 2 gesetzt und man kann damit überprüfen, auf welche Weise das Formular abgeschickt wurde und dann greife ich einfach auf die Werte zu und kann dann natürlich schöne SQL-Anfragen machen. Also nochmal danke, falls jemand noch mehr erklärt haben möchte, nur zu.