PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Voneinander abhäbgige Dropdown Menues


rallesalle
04.10.2003, 10:34:03
Hallo Leute
ich habe mal wieder eine für mich schwierige Aufgabe zu lösen.
Ich möchte mit Hilfe von Dropdown Menüs eine auswahl treffen lassen.

Es geht um Bundesländer, Landkreise und Orte.
Ich habe eine Datenbank, in der die Bundeländer und Landkreise bereits eingeben wurden.

Ich möchte jetzt das der User ein Bundesland auswählt und dann sich das zweite Dropdown Menüe (Landkreise) die Daten aus der DB holt.

Ich habe auch ein kleines Script gefunden müsste dieses aber umbauen.

Hier das Script

<?php
$Server=@mysql_connect("+++", "+++", "+++")
or die("keine Verbindung zur Datenbank");
$abfrage= "SELECT * from landkreis order by landkreis";
$ergebnis=mysql_db_query("+++" , $abfrage, $Server);
$Daten=mysql_fetch_row($ergebnis);
?>
<script>
<!--
var groups=document.doppelmenue.example.options.length
var auswahl=new Array(groups)
for (i=0; i<groups; i++)
auswahl[i]=new Array()

auswahl[0][0]=new Option("<?php echo $Daten[0]; ?>")
auswahl[0][1]=new Option("<?php echo $Daten[1]; ?>")
auswahl[0][2]=new Option("<?php echo $Daten[2]; ?>")
auswahl[0][3]=new Option("Win9x Trickkiste")
auswahl[0][4]=new Option("JavaScript-Archiv","http://www.ralles-world.de/java-script/index.htm")

auswahl[1][0]=new Option("Google","http://www.google.de")
auswahl[1][1]=new Option("Excite","http://www.excite.de")
auswahl[1][2]=new Option("Fireball","http://www.fireball.de")
auswahl[1][3]=new Option("Eule","http://www.eule.de")

auswahl[2][0]=new Option("T-Online","http://www.t-online.de")
auswahl[2][1]=new Option("Arbeitsamt","http://www.arbeitsamt.de")
auswahl[2][2]=new Option("AVM-Homepage","http://www.avm.de")
auswahl[2][3]=new Option("Premiere World","http://www.premiereworld.de")

var temp=document.doppelmenue.stage2

function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<auswahl[x].length;i++){
temp.options[i]=new Option(auswahl[x][i].text,auswahl[x][i].value)
}
temp.options[0].selected=true
}

function auswaehlen(){
location=temp.options[temp.selectedIndex].value
}

//-->
</script>

Ich habe es mit $Daten=mysql_fetch_row($ergebnis);
versucht, klappt aber nicht, da ich nicht vorher weiss wieviele Landkreise es pro Bundesland gibt.

Vieleicht kennt Ihr ja ein Tutorial dazu?

Danke im vorraus

Gweilo
04.10.2003, 15:02:11
Ich würde das problem anderst angegen. so müsstest du ja alle daten zuvor auslesen und im code speichern.

Folgendes würde ich machen:
<select name="bundesland" onchange="self.document.forms[0].submit()">
<option value="0">Bundesländer auf listen...</option>
<option value="1">etc...</option>
</select>

Sobald das bundesland geändert wird lädt er die seite neu mit den dazugehörigen Landkreisen im zweiten Select. Statt forms[0] kannst du auch den Formularnamen angeben.

Sowas ähnliches wird auch auf www.mapquest.com gemacht bei der land-auswahl.

Gweilo
04.10.2003, 15:08:49
hab gerade bei mapquest in den code geschaut. die machen das so:

<select name=countryid style=width:338 tabindex=-1 onchange="window.location='/maps/main.adp' + '?countrycode=' + this.options[this.selectedIndex].value;">
<option value="1">Afghanistan</option>
</select>

Dies ist vermutlich sogar die bessere version.