Hallo zusammen,
weiß jemand von euch evtl. wie ich die Daten aus einem Drop Down menü in ein anderes Laden kann also etwa so:
1. Menü: Kotinent
2. Menü: Länder
Das bei der Auswahl eines Kontinents nur die Länder im 2ten Menü erscheinen die es auch auf diesem Kontinent gibt ?
MFG clark_039
P.S: Sry für diese kompi. Formulierung
Drop Down Menu optionen
-
clark_039 -
19. Januar 2009 um 09:35 -
Unerledigt
das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)
Vielen Dank für die Treue und das Verständnis!
-
-
Dazu musst du dir ein bisschen JavaScript anlernen. Schlussendlich musst du einen Eventhandler fuer das onChange-Ereignis der ersten Dropdown (<select>)-Box schreiben, der die Optionen der zweiten Dropdown-Box veraendert (die Kontinente und ihre Laender wirst du z.B. in einem Array gespeichert haben).
-
Also wenns interessiert ich habs jetzt so gelöst und es läuft perfekt.
<form name="continent" id="con_menu">
Continent
<select name="con" onChange="document.getElementById('con_menu').submit()">
<?php
$con = (int)$_GET['con'];
$DatabasePointer = mysql_connect("localhost", "user", "pwd");
mysql_select_db("db", $DatabasePointer);
$SQL2 = "SELECT * FROM continent";
$result2 = mysql_query($SQL2, $DatabasePointer);
echo '<option value="0" '.($con==0?'selected="selected"':'').'>All</option>';
while ($row2 = mysql_fetch_assoc($result2)) {
echo '<option value="'.$row2['id'].'" '.($con==$row2['id']?'selected="selected"':'').'>'.htmlentities($row2['continent']).'</option>';
}
mysql_free_result($result2);
?>
</select>
</form><!-- Auswahl Land -->
<form name="country" id="cou_menu">
<input type="hidden" name="con" value="<?=$con?>" />
Country
<select name="cou" onChange="document.getElementById('cou_menu').submit()">
<?php
$cou = (int)$_GET['cou'];
$SQL3 = "SELECT * FROM country WHERE country.continent=$con";
$result3 = mysql_query($SQL3, $DatabasePointer);
echo '<option value="0" '.($cou==0?'selected="selected"':'').'>All</option>';
while ($row3 = mysql_fetch_assoc($result3)) {
echo '<option value="'.$row3['id'].'" '.($cou==$row3['id']?'selected="selected"':'').'>'.htmlentities($row3['country']).'</option>';
}
mysql_free_result($result3);
?>
</select>
</form>
<!-- Auswahl Stadt -->
<form name="city" id="cit_menu">
<input type="hidden" name="con" value="<?=$con?>" />
<input type="hidden" name="cou" value="<?=$cou?>" />
City
<select name="cit" onChange="document.getElementById('cit_menu').submit()">
<?php
$cit = (int)$_GET['cit'];
$SQL4 = "SELECT * FROM cities WHERE cities.country=$cou";
$result4 = mysql_query($SQL4, $DatabasePointer);
echo '<option value="0" '.($cit==0?'selected="selected"':'').'>All</option>';
while ($row4 = mysql_fetch_assoc($result4)) {
echo '<option value="'.$row4['id'].'" '.($cit==$row4['id']?'selected="selected"':'').'>'.htmlentities($row4['city']).'</option>';
}
mysql_free_result($result4);
?>
</select>
</form>MFG clark_039
-
Und wer soll sich je diese völlig unübersichtliche HTML-/PHP-Mischung ansehen?
-
Wenn irgendjemand auch mal sowas vor hat wie könnte sie ihm evtl. helfen, ich hätte gerne noch bei meinem Post [code=html] in [code=php] geändert.
Sorry wenn mein Post für euch unübersichtlich ist...
MFG clark_039
-
Hab kurz druebergeschaut, scheint OK zu sein. Nicht so guenstig ist es allerdings, dass bei jeder Aenderung der Dropdown-Auswahl die gesamte Seite neu geladen wird und auch Datenbankabfragen durchgefuehrt werden. Idealerweise wuerdest du die Daten nur einmal auslesen und im Speicher halten; JavaScript koennte dann auf die Auswahlaenderung "live" reagieren und fertig. Der Code ist mir jetzt aber ein bissl zu anstrengend um ihn aufzuschreiben... fuers Erste reicht auch deine Loesung.
-
Maximilian Rupp
27. Dezember 2024 um 00:26 Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.