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
-
-
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.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!