form -> action="<?php echo $_SERVER['PHP_SELF']; ?>
Einklappen
X
-
nette sacheZitat von TobiaZ Beitrag anzeigenNa, die betreffende Zeile dürfte diese sein:Und dann ganz einfach:PHP-Code:echo "<option value= ".$klasse3['klasse'].">".$klasse3['klasse']."</option>";
PHP-Code:echo "<option value= ".$klasse3['klasse']. (aktueller_datensatz == gefundener datensatz ? " selected=selected" : "") . ">".$klasse3['klasse']."</option>";
funktioniert super...jetzt besteht nur noch das Problem, dass die ausgewählte Option nach dem Action von dem Form nicht gleichbleibt, sondern wieder auf den Ursprung wechselt.
Soll heißen:
Ich habe 2 Auswahlmöglichkeiten -> Möglichkeit 1 wird beim Aufrufen der Seite automatisch gewählt. Ich wechsle auf Option 2, lade die Seite mit <?php echo $_SERVER['PHP_SELF']; ?> neu -> die Option ist wieder auf 1, sollte aber - wenns nach mir ginge :P - auf 2 sein
Mfg und VIELEN Dank!
Einen Kommentar schreiben:
-
Na, die betreffende Zeile dürfte diese sein:Wie kann ich das so löse, dass wenn ein Datensatz gefunden wird, dieser selected ist, wenn keiner gefunden wird, die Liste ganz normal ausgegeben wird?Und dann ganz einfach:PHP-Code:echo "<option value= ".$klasse3['klasse'].">".$klasse3['klasse']."</option>";
PHP-Code:echo "<option value= ".$klasse3['klasse']. (aktueller_datensatz == gefundener datensatz ? " selected=selected" : "") . ">".$klasse3['klasse']."</option>";
Einen Kommentar schreiben:
-
Benutz doch bitte die [PHP]-Tags, dann wird der Code für uns lesbarer.
Einen Kommentar schreiben:
-
Ich stehe etwas auf der Leitung
Das ist mal generel mein Code um das Selectfeld zu befüllen:
ZZ überprüfe ich, ob ich Datensätze geliefert bekomme, wenn ja soll er den einen (kann in dem Fall nur einer sein) ausgeben. Wenn keine Datensätze gefunden werden, soll er alle Klassen ausgeben.Code:$klasse_norm ="SELECT * FROM t_klassen t;"; $klasse = "SELECT * FROM t_stundenplan s INNER JOIN t_stundenzeiten st INNER JOIN t_klassen t ON s.stunde = st.stunde AND s.klasse = t.klasse WHERE s.lehrercode like '$lehrercode' AND '$uhrzeit' between st.von and st.bis AND s.tag like '$tag';"; $ergebnis_klasse = mysql_query($klasse); $ergebnis_klasse_norm = mysql_query($klasse_norm); $num_rows = mysql_num_rows($ergebnis_klasse); if ($num_rows > 0) { while($klasse2 = mysql_fetch_assoc($ergebnis_klasse)) { echo "<option value= ".$klasse2['klasse']." >".$klasse2['klasse']."</option>"; $schueler_kl = "".$klasse2['klasse'].""; $f_kl = $_GET["sel_klasse"]; } } else { while($klasse3 = mysql_fetch_assoc($ergebnis_klasse_norm)) { echo "<option value= ".$klasse3['klasse'].">".$klasse3['klasse']."</option>"; $schueler_kl = "".$klasse3['klasse'].""; $f_kl = $_GET["sel_klasse"]; } }
Wie kann ich das so löse, dass wenn ein Datensatz gefunden wird, dieser selected ist, wenn keiner gefunden wird, die Liste ganz normal ausgegeben wird?
Mfg
Einen Kommentar schreiben:
-
das selected ist normal auch ned drin :P war nur zum testen.Zitat von wahsaga Beitrag anzeigenAlso selected in jeder Option. Na das ist doch wohl mal blödsinnig - merkst du doch hoffentlich selber ...?
Und dabei vergleichst du den übergebenen Wert mit den Werten die du ausgibst - und nur bei Gleichheit schreibst du dann das selected-Attribut mit rein.
Werd das mal so probieren, mal schaun ob ichs hinbekomm :P
mfg u danke
Einen Kommentar schreiben:
-
Also selected in jeder Option. Na das ist doch wohl mal blödsinnig - merkst du doch hoffentlich selber ...?Zitat von moepmann123 Beitrag anzeigenso sieht der Code für das Select-Feld aus...
Und dabei vergleichst du den übergebenen Wert mit den Werten die du ausgibst - und nur bei Gleichheit schreibst du dann das selected-Attribut mit rein.Wenn ich jetzt eine Option auswähle, die Seite per Button neu lade und die ausgewählten Optionen übergebe, bringt mir das Select sehr wenig (falls es so hingehört) da er ja wieder einfach neu aus der DB ausliest.
Einen Kommentar schreiben:
-
so sieht der Code für das Select-Feld aus...Wenn ich jetzt eine Option auswähle, die Seite per Button neu lade und die ausgewählten Optionen übergebe, bringt mir das Select sehr wenig (falls es so hingehört) da er ja wieder einfach neu aus der DB ausliest.Code:echo "<option value= ".$klasse2['id_klasse']." selected >".$klasse2['klasse']."</option>";
Würde mich freuen wenn du mir sagen würdest wie ichs machen könnte
Mfg
Einen Kommentar schreiben:
-
Tja, dann machst du's wohl falsch, denn genau so geht's.Zitat von moepmann123 Beitrag anzeigenVorselektiert habe ich versucht, funktioniert jedoch nicht da er mir - sofern ich selected in meinen <option>-Tag packe - immer den letzten Datensatz auswählt.
Einen Kommentar schreiben:
-
Ok, der Titel war vielleicht etwas schlecht gewählt :P
Ich versuchs nochmal verständlich zu erklären.
Ich habe ein Form in dem einige Select-Felder enthalten sind. Diese Felder werden durch Datenbankabfragen befüllt und sohin ist Value schon vorbelegt. Am Schluss dieses Forms habe ich einen Aktualisieren Button um die Ausgabe (hier werden die Daten der Select-Felder verwertet) neu auszugeben.
Als Action für das Form habe ich <?php echo $_SERVER['PHP_SELF']; ?> verwendet, um die Ausgabe auf der selben Seite neu zu laden.
Mein Problem ist nun, dass die Ausgabe perfekt funktioniert, ich will jedoch - nach dem die Seite neu geladen wurde - die Optionen die ich vorher gewählt habe, in den Select Feldern als "selected" haben.
Vorselektiert habe ich versucht, funktioniert jedoch nicht da er mir - sofern ich selected in meinen <option>-Tag packe - immer den letzten Datensatz auswählt.
Problem is ja iwi, dass er ja nachdem er die Seite neu ladet, auch die Select Felder neu mit den Datenbankabfragen befüllt.
Hoffe das war etwas verständlicher
MfgZuletzt geändert von moepmann123; 04.07.2009, 18:13.
Einen Kommentar schreiben:
-
Kaum.Zitat von moepmann123 Beitrag anzeigen(Hoffe das war einigermaßen verständlich :P)
Insb. was der Titel mit der eigentlichen Frage zu tun haben soll, kann ich nicht erkennen.
Ich kann nur raten, dass du das meinen könntest:Wie bekomme ichs nun hin, dass, nachdem ich die Ausgabe aktualisiere, das Select Feld das Richtige anzeigt?
http://de.selfhtml.org/html/formular..._vorselektiert
Einen Kommentar schreiben:
-
form -> action="<?php echo $_SERVER['PHP_SELF']; ?>
WICHTIG:
--------------------------------------------------Zitat von combie Beitrag anzeigenJetzt lass das doch endlich mal weg!!PHP-Code:<form name=select action="<?php echo $_SERVER['PHP_SELF']; ?>">
Jeder Anfänger, welcher diesen Thread sieht, wird verführt PHP_SELF einzusetzen.
Bitte lass das.....!
Machs doch so, das ist genauso gut:
Einfach leer lassen. Sollte in deinem Fall dicke reichen.HTML-Code:<form name=select action="">
Hoffe ich bin hier richtig
Habe ein "kleines" Problem...
habe einige Select-Felder welche mit DB Abfragen befüllt werden.
Wenn ich nun ein Feld verändere, und meine Ausgabe per Button veränderen will geht dies zwar, das Feld ändert seinen Anzeigewert jedoch wieder auf den Wert, welcher als erstes von der DB ausgegebenen wird. Eigentlich klar (reload Seite)
Wie bekomme ichs nun hin, dass, nachdem ich die Ausgabe aktualisiere, das Select Feld das Richtige anzeigt? Würde ja Value hernehmen, geht aber leider nicht, weil Value ja mit der DB Abfrage befüllt ist.
(Hoffe das war einigermaßen verständlich :P)
Würde mich über Hilfe freuen,
mfgZuletzt geändert von moepmann123; 05.07.2009, 21:08.Stichworte: -
Einen Kommentar schreiben: