Archiv verlassen und diese Seite im Standarddesign anzeigen : Listenmenu
Hi,
jetzt muss ich alles nochmal schreiben weil ich den Betreff vergessen habe... *stöhn*
Also, ich habe ein Dropdown Menu mit den Geburtsmonaten. Diese stehen in einem Array und werden mit foreach ausgegeben. Alles schön und gut funkt auch alles, wird auch in die DB eingetragen.
Wenn man die Seite wieder aufruft sollte aber der gespeicherte Eintrag schon markiert sein. Genau das ist mein Problem.. ich komme einfach nicht drauf was ich falsch mache :/.
Hier mal der Code:
<select name="gebmon" size="1" style="font-size: 11px; background: #999999;
border: 1px inset #000000;">
<option>-- Bitte wählen! --</option>
<?
$monate = array(1=>"Januar", 2=>"Februar", 3=>"März", 4=>"April", 5=>"Mai", 6=>"Juni",
7=>"Juli", 8=>"August", 9=>"September", 10=>"Oktober",
11=>"November", 12=>"Dezember");
foreach ($monate as $mon) {
if ($profil['UserGebMon'] == current($mon)) { $sel = "selected"; } else { $sel = NULL; }
echo"<option value=\"".$mon."\" ".$sel.">".$mon."</option>"; }
?>
</select>
Die Spalte `UserGebMon` ist VARCHAR 255 und drin steht der Monat als Wort.
Wenn mir jmd. helfen könnte wäre ich sehr dankbar.. :)
mfg
achte mal auf deine umbrüche im code. ich habe mal oben ein paar reingemacht, weil ich keinen bock zum scrollen habe. :teach:
current() liefert dir doch nur den value. also januar usw....
$monate = array( 1 => "Januar", 2 => "Februar", 3 => "März",
4 => "April", 5 => "Mai", 6 => "Juni",
7 => "Juli", 8 => "August", 9 => "September",
10 => "Oktober", 11 => "November", 12 => "Dezember");
for ($i=1;$<=12;++$i)
{
$sel = $profil['UserGebMon'] == current($i) : 'selected' : '';
echo '<option value="'.$i.'" '.$sel.'>'.$monate[$i].'</option>';
}
und das $profil['UserGebMon'] lässt du dir aus der DB mit einer nummer füllen.
Also ich habs mal probiert, leider erfolglos :/
Ausserdem waren ein paar Fehler drin.. hab ich rasugemacht:
(evtl. hab ich auch ein paar reingemacht, man weiß es nicht :D)
$monate = array( 1 => "Januar", 2 => "Februar", 3 => "März",
4 => "April", 5 => "Mai", 6 => "Juni",
7 => "Juli", 8 => "August", 9 => "September",
10 => "Oktober", 11 => "November", 12 => "Dezember");
for ($i=1;$i<=12;++$i)
{
$sel = $profil['UserGebMon'] == current($i) ? 'selected' : '';
echo '<option value="'.$i.'" '.$sel.'>'.$monate[$i].'</option>';
}
Es kommt immer nur Bitte Wählen -.-
pls Help bin zu dumm :(
$sel = $profil['UserGebMon'] == current($i) ? 'selected' : ''; ???
$i ist kein Array, oder??? Außerdem kann man current() an dieser stelle nicht nutzen, außer man möchte immer das erste Element haben. also entweder "== $i" oder "== $monate[$i]" je nach dem, was in $profil['UserGebMon'] steht.
Außerdem versuch mal $i++ zu nehmen.
Danke Tobi, funzt 1a :)
Hier nochmal der Code:
$monate = array( 1 => "Januar", 2 => "Februar", 3 => "März",
4 => "April", 5 => "Mai", 6 => "Juni",
7 => "Juli", 8 => "August", 9 => "September",
10 => "Oktober", 11 => "November", 12 => "Dezember");
for ($i=1;$i<=12;$i++)
{
$sel = $profil['UserGebMon'] == $i ? 'selected' : '';
echo '<option value="'.$i.'" '.$sel.'>'.$monate[$i].'</option>';
}
Original geschrieben von TobiaZ
Außerdem versuch mal $i++ zu nehmen. ach ja? warum denn?
++$i <- Da wird die Var zuerst erhöht und dann zurückgegeben..
$i++ <- Var wird zurückgegeben und danach um 1 erhöht..
Wo ist der Unterschied zw.
for ($i=1;$i<=12;$i++)
und
for ($i=1;$i<=12;++$i)
???
Offe
s. oben.. macht aber keinen wirklichen Unterschied.. O_o
@roNn
das hat überhaupt nichts mit einer ausgabe zu tun! :teach:
Tut mir wirklich leid.. habs verbessert..
*wegrenn*
Original geschrieben von roNn
++$i <- Da wird die Var zuerst erhöht und dann zurückgegeben..
$i++ <- Var wird zurückgegeben und danach um 1 erhöht..
Original geschrieben von roNn
Tut mir wirklich leid.. habs verbessert..
*wegrenn*
hör mal blos auf beiträge nachträglich zu editieren..... :teach:
wie soll denn sonst noch jemand das ganze nachvollziehen können? :goth:
aber davon abgesehen, wars dennoch falsch... :p
Original geschrieben von Abraxax
hör mal blos auf beiträge nachträglich zu editieren..... :teach:
wie soll denn sonst noch jemand das ganze nachvollziehen können? :goth:
aber davon abgesehen, wars dennoch falsch... :p
Tja deine Sache hehe :D
Vielleicht wars falsch, isses jetzt aber nicht mehr :P
so. ich habe auch mal ein wenig nachgeschaut, um was bestimmtes zu finden, worauf ich eigentlich schon die ganze zeit hinaus will.... dabei habe ich aber gesehen, dass das mit dem vorher/nachher wohl doch stimmen zu schein. ok. ein punkt für dich... ;)
aber dennoch gibt es noch einen weiteren unterschied, der auch nciht zu verachten ist.
Original geschrieben von Abraxax
so. ich habe auch mal ein wenig nachgeschaut, um was bestimmtes zu finden, worauf ich eigentlich schon die ganze zeit hinaus will.... dabei habe ich aber gesehen, dass das mit dem vorher/nachher wohl doch stimmen zu schein. ok. ein punkt für dich... ;)
*hrhr* :D
Original geschrieben von Abraxax
aber dennoch gibt es noch einen weiteren unterschied, der auch nciht zu verachten ist.
Und der wäre?
Und der wäre? die performance.... ;)
die performance....
Sicher aber das sind so wenige µ-Sekunden, also bitte... das ist wie mit den " und ' ..
ja. aber viele µs zusammen macht auch ne ganze menge......
Original geschrieben von roNn
Sicher aber das sind so wenige µ-Sekunden, also bitte... das ist wie mit den " und ' ..
damit haste dem ja ne gewisse relevanz zugesprochen ...
Gut und .. stimmt schon.. mhh dann ahlt Punkt an euch *gg*
hab extra geschrieben "versuch mal", weil ich mir net sicher war, obs wirklich was aus macht.
Fehler war natürlich das current()
|
-
- |