Füllen eines 2 Dropdown Menüs nach Auswahl eines ersten

Ich habe das jetzt mal eingefügt und angepasst.
PHP:
       <?php
    $options = "";
    $abfrage  ="SELECT 
						`Flughafen`.`flughafenid`, 
						`Flughafen`.`flughname`,
						`Flugplan`.`flughafenid1`,
						`Flugplan`.`flughafenid2` 
				FROM 
						Flughafen, 
						Flugplan
				Where 
						`Flughafen`.`flughafenid` =  `Flugplan`.`flughafenid1` 
						 GROUP BY `Flughafen`.`flughname` ASC"; 
    $ergebnis = mysql_query($abfrage);
	
	    while($row = mysql_fetch_row($ergebnis)) 
    { 
        $options .= "<option value=\"".$row[1]." \">".$row[1]."</option>";  
    } 
?> 
        <select name="find_flight_departure" id="find_flight_departure"  onchange="submit()">
        <option>Choose Departure</option>
        <option>---------------------</option>
        <?php echo $options; ?>
    </select><br>
 <?php  
  if(empty($_REQUEST['senden']) && $_REQUEST['find_flight_departure']) // Dann erstelle nur die zweite liste.. 
  
 $abfrage2  ="SELECT 
                        `Flughafen`.`flughafenid`, 
                        `Flughafen`.`flughname`,
                        `Flugplan`.`flughafenid1`,
                        `Flugplan`.`flughafenid2` 
                FROM 
                        Flughafen, 
                        Flugplan
                Where 
                        `Flughafen`.`flughafenid` =  `Flugplan`.`flughafenid2` 
                AND
                         `Flugplan`.`flughafenid1` = '$options'
                         GROUP BY `Flughafen`.`flughname` ASC"; 
    $ergebnis2 = mysql_query($abfrage2);
    
        while($row = mysql_fetch_row($ergebnis2)) 
    { 
         if($_REQUEST['find_flight_departure'] == $row[1]){
                    $options2 .= "<option value=\"".$row[1]." \" selected=true>".$row[1]."</option>"; 
         } else {
                    $options2 .= "<option value=\"".$row[1]." \">".$row[1]."</option>"; 
         }
    }  
  ?>

Leider erscheint nur ein Auswahlfeld und wenn ich einen Flughafen auswähle, wechselt die Seite auf eine leere.
 
Ein submit braucht es schon das ist richtig. Wenn das Submit nun ausgeführt wird muss mit der abfrage
PHP:
if(empty($_REQUEST['senden']) && $_REQUEST['find_flight_departure'])
sichergestellt werden, dass nicht die neue seite geladen wird, sondern nur das neue auswahlfeld initialisiert wird. Du musst diese abfrage also zu oberst bei der Funktion einbauen, welche bei einem Submit in diesem Formular aufgerufen wird. Wenn die Abfrage ein True ergibt, so soll nur das Auswahlfeld aufgebaut werden, dazu kannst Du irgend auf eine andere Funktion verweisen.

diese Abfrage:
PHP:
if($_REQUEST['find_flight_departure'] == $row[1]){
kommt nicht bei der Auswahlliste 2, sondern bei der Auswahlliste 1, damit nach dem Submit noch das richtige Feld ausgewählt ist. Denn bei einem Submit wird ja alles zurückgestellt. (Aus diesem Grund wäre auch das AJAX besser gewesen, da dadurch nicht alles neu geladen wird.)

Ich hoffe das kann dir etwas weiterhelfen.
 
ach soo. Es sollte ohne diese gehen. Das onchange='submit()' macht einfach, dass das Formular abgesendet wird.. wenn das Formular abgesendet wird, jedoch kein $_REQUEST['senden'] zurückgibt, so weiss man, dass man das menu aufbauen soll und nicht alle daten an die nächste Seite weitergeben soll..
bis jetzt habe ich es jedenfalls immer so gemacht..
 
ahh. tut mir leid.
ja ich würde schon mit ajax arbeiten, keine frage.
Aber so wie ich gelesen habe wollte dies Malchor nicht, daher habe ich noch eine andere Variante ohne Ajax bereitgestellt.
 
Îch würde schon wollen aber ich verstehe das mit Ajax nicht und ich kann euch ja schlecht bitten mir dasd komplette Skript zu schreiben
 
Bitten geht immer, aber ob's gemacht wird, ist eine andere Frage :D
Habe gerade leider keinen PC mit lokalem Webserver zur Verfügung, sonst hätte
Ich mich vielleicht rangesetzt.
 
Zurück