comboboxen +reload der seite..

kne

Mitglied
Hallo.
Ich habe schon weider ein kleines Problemchen :)
Ich habe 4 Comboboxen
In der ersten sind alles Automarken aus einer Tabelle geladen.
Wenn ich aber jetzt eine Marke mit Hilfe der Combobox auswähle, soll der wert in der Combobox stehen bleiben, und in der naechsten aus einem anderen Teil der Tabelle geladen werde.
Also wie ich die Felder in die Combobox kriege, weiss ich. Nur wie mache ich es, damit die combobox sozusagen ausgeführt wird?
 
Also mit PHP alleine klappt das nicht zumindest nicht automatisch.

a) Du müßtest mit JavaSrcipt auf das Anklicken eines bestimmten Eintrages in der Liste reagieren.

oder

b) Du wählst einen Eintrag aus der Liste aus und machst zusätzlich noch einen Submit-Button auf die Seite auf den Du dann klickst.
 
Hallo.
Das heisst, mit PhP führ ich nur die Query zum füllen aus.
Und den Rest muss ich per Java Script machen?
aaaaaaaaaaaaah ich kann kein JavaScript . shice...

Danke dir
 
Du kannst ja bei der Combobox :

onClick="NeuerEintrag();"

angeben. Dann schreibst Du eine kleine JS-Funktion mit dem selben Namen

function NeuerEintrag() {
document.NameDerForm.submit();
}

Diese Funktion macht nix anderes wie ein Submit-Button. Das Formular wird abgeschickt und dadurch der aktuelle Wert der Combobox übergeben.

Wenn jetzt die Seite neu geladen wird, kann Dein PHP-Skript auf den Übergebenen Wert reagieren.

(Hoffe mal das stimmt so. Wollte es nur vor der Mittagspause noch loswerden).
 
das formular wird übertragen, gut.
Aber der Wert der combobox bleibt dann nicht, und irgendwie reagiert mein php script nicht, da beim reloaden die Variablen gelöscht werden. Sonst müsste ich ja mehrere session variablen benutzen ...
 
Also wenn ich Daten aus einer DB in eine Combobox einlese mach ich das immer in einer Schleife (Do, For, ...). Wenn Du jetzt den markierten Wert der Combobox in einer Variable hast, kannst Du innerhalb dieser Schleife prüfen ob die Variable mit dem Wert übereinstimmt der neu aus der DB eingetragen wird.

Wenn JA gibts Du einfach noch "selected" an, z.B.:

if ($variable == $datenfeld) {
echo "<option selected>Eintrag in Combobox</option>";
} else <option>Eintrag in Combobox</option>;


Wenn die Werte der Variablen "verlorengehen" dann stimmt wohl was mit dem Skript nicht.
 
Also.
Ich wähle die cbx aus, mit der Marke Audi.
Dann wird logischer Weiser der string AUDI, in der variable $Marke gesetzt.
So, wenn aber jetzt die cbx das formular überträgt, ist die combobox nicht mehr auf dem Wert Audi, sondern wieder am anfang.
D.h. Dass auch die Variable $Marke leer ist.

Da die 2te cbx auf den wert von $Marke angewiesen ist, um die combobox zu füllen, ist sie auch wieder leer.
 
Du hast ja irgendwo im HTML-Code eine ähnliche Anweisung stehen :

Code:
<form name="formular" action="seitenname.php" method="post">
<select name="marke" size="1">

// dann kommt hier die Schleife um die Daten per PHP einzutragen
  for ($a = 0; $a < mysql_num_rows($sql); $a++) {
    if (isset($_POST["marke"]) AND $_POST"marke"] == mysql_result($a, "marke")) {
      echo '<option selected>' .mysql_result($a, "marke") .'</option>';
   } else echo '<option>' .mysql_result($a, "marke") .'</option>';

  }
</select>

Dann wird geprüft ob der Wert der Combo als $_POST["marke"] übergeben wurde und wenn ja verglichen ob er mit den nächsten Wert der DB übereinstimmt.
Wenn auch das zutrifft, wird dieser Wert als markiert gekennzeichnet!!

Wenn Du im Formular method="get" stehen hast nimmst Du anstatt $_POST[] einfach $_GET[].
 
öhm hab ich :

PHP:
	      <select name="cbxKarosserie" id="cbxKarosserie" onchange="MM_jumpMenu('parent',this,0)">
	         <option value"*">Bitte auswaehlen</option>
	        <? 
			if($Mark){ 
    		$combo=sprintf("SELECT `KAROSSERIE` FROM Autos where MARK='".$Mark."'");
			$rst = mysql_query($combo,$connect);
			while ($zeile=mysql_fetch_assoc($rst))  {
					if ($test!=$zeile['KAROSSERIE']){
			 				echo "<option>".$zeile['KAROSSERIE']." </option>";
			 				$test = $zeile['KAROSSERIE']; 
										 			}
						}
													?>
	
          </select>
 
Das ist aber der Code der zweiten Combobox !! Du mußt auch bei der ersten meinen Code eingeben, damit dort der gewählte Eintrag wieder ausgewählt wird.

Das Du das onChange-Ereignis zum prüfen nimmst Ich glaub das spricht zur falschen Zeit an. Nimm dafür lieber onClick.

Und dann MM_jumpMenu...... ! Warum nicht einfach onClick="ComboClick();" oder so, mehr muß da gar nicht hin. Der Funktion wird ja nix übergeben die löst nur das Submit-Ereignis aus, damit das Formular abgeschickt wird.

Der Rest müßte eigentlich soweit stimmen (abgesehen davon das Du nicht mit POST oder GET arbeitest). Das einzige ist das Du vorher von $marke geschrieben hast und hier $mark (ohne E am Schluß) steht.

Noch was : Ein Formular hast Du aber schon <form name=".....> oder

Außerdem warum wurden wir ins JavaScript Forum verschoben, wir reden doch PHP?
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück