Welches Dropdown Feld wurde verändert?

heikomi

Erfahrenes Mitglied
Hi,
Ich habe 3 voneinander abhängige Dropdownfelder und würde gern wissen wollen, welche
von dennen geändert wurde (wenn denn eins geändert wird).
ISSET() hilft mir da nicht viel weiter. Gibt es da eine Möglichkeit?

LG Heiko
 
Dazu müsstest du ganz einfach den ursprünglich ausgewählten Wert mit dem nun ausgewählten vergleichen. Wo kommen denn die Werte her?
 
hi Gumbo,
ja das habe ich auch so vermutet - dachte das es da aber ne einfachere Sache gibt ;).

Die Werte kommen aus dem Value und dieser aus der DB.

PHP:
<select name="dd01" size="1" style="width:200px;" onchange="this.form.submit()">

  <option value=\"".$_SESSION['LAND_IDNR'][$i]."\">".$_SESSION['LAND_NAME'][$i]."</option>\n";

</select>

Ist natürlich in einer for Schleife und das ganze in PHP-Tags.

LG Heiko
 
Hi,

lass mich raten. Du möchtest den ausgewählten Wert auch wieder als selected markieren?

PHP:
echo '<option value="'.$_SESSION['LAND_IDNR'][$i].'"';
if($_POST['dd01'] == $_SESSION['LAND_IDNR'][$i]) {
   echo ' selected';
}
echo '>'.$_SESSION['LAND_NAME'][$i]."</option>\n";

Übrigens: Wo kommen denn da Daten aus der DB? Lädst Du die alle in die Session?

LG
 
Zuletzt bearbeitet:
nabend kuddeldaddeldu,
das mit dem selected ist mir klar.
Ja ich lade die Daten (hier die Länderverwaltung) in Session, denke mir, das dies schneller geht als ständig auf die DB zuzugreifen.

Irre ich da?

PHP:
while ($row = mysql_fetch_array($result))
{
  $anzLAND = $anzLAND + 1;
  $_SESSION['LAND_IDNR'][$anzLAND] = $row['LAND_IDNR'];
  $_SESSION['LAND_NAME'][$anzLAND] = $row['LAND_NAME'];
}


Edit:
Wenn ich die Ferlder mithilfe einer Function ermitteln könnte ;)
Leider hab ich mich damit noch nicht so direkt befasst. Oder das ganze in ein Array aber auch hier reicht mein Horizont noch nicht ganz :-O

LG Heiko
 
Zuletzt bearbeitet:
:confused: Und wann genau machst Du das? Einmal pro Script-Aufruf? Oder prüfst Du, ob die in der Session schon gefüllt sind, also einmal pro Session?
Warum speicherst Du denn die zuletzt gewählten Einträge nicht auch einfach in der Session, wie Gumbo schon sagte? Weiß ja nicht, was Du unter noch einfacher verstehst... ;)

Wenn ich die Ferlder mithilfe einer Function ermitteln könnte
Leider hab ich mich damit noch nicht so direkt befasst. Oder das ganze in ein Array aber auch hier reicht mein Horizont noch nicht ganz :-O

Das verstehe ich jetzt nicht. Was für Felder? Was genau in ein Array?

LG
 
Die 3 Dropdown werden für eine Fussball Navigation benutzt

LAND -> LIGA -> SAISON.

Mit JavaScript kenn ich mich leider auch nicht so gut aus. Mein Problem liegt darin, wenn ich eine Liga mit nur 2 Serien (Saison) habe und jetzt in eine Liga mit mehr als 2 Serien wechsle, dann ist statt der letzten immer die 2. Selectiert (selected).

Gumbo hat schon Recht, den Wert einfach speichern und schauen welcher der 3 Werte sich geändert hat.

JavaScript arbeitet aber doch nicht mit MySQL, oder?

LG Heiko
 
Zurück