Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Listenmenu [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Listenmenu


 
roNn
14-02-2004, 18:46 
 
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&auml;hlen! --</option>
<?
$monate = array(1=>"Januar", 2=>"Februar", 3=>"M&auml;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

 
Abraxax
14-02-2004, 19:31 
 
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&auml;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.

 
roNn
14-02-2004, 20:32 
 
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&auml;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 :(

 
TobiaZ
14-02-2004, 21:08 
 
$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.

 
roNn
14-02-2004, 21:27 
 
Danke Tobi, funzt 1a :)

Hier nochmal der Code:

$monate = array( 1 => "Januar", 2 => "Februar", 3 => "M&auml;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>';
}

 
Abraxax
14-02-2004, 21:43 
 
Original geschrieben von TobiaZ
Außerdem versuch mal $i++ zu nehmen. ach ja? warum denn?

 
roNn
14-02-2004, 22:00 
 
++$i <- Da wird die Var zuerst erhöht und dann zurückgegeben..
$i++ <- Var wird zurückgegeben und danach um 1 erhöht..

 
Offe1
14-02-2004, 22:02 
 
Wo ist der Unterschied zw.
for ($i=1;$i<=12;$i++)

und
for ($i=1;$i<=12;++$i)


???

Offe

 
roNn
14-02-2004, 22:06 
 
s. oben.. macht aber keinen wirklichen Unterschied.. O_o

 
Abraxax
14-02-2004, 22:13 
 
@roNn
das hat überhaupt nichts mit einer ausgabe zu tun! :teach:

 
roNn
14-02-2004, 22:22 
 
Tut mir wirklich leid.. habs verbessert..
*wegrenn*

 
Abraxax
14-02-2004, 22:24 
 
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

 
roNn
14-02-2004, 22:27 
 
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

 
Abraxax
14-02-2004, 22:29 
 
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.

 
roNn
14-02-2004, 22:30 
 
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?

 
Abraxax
14-02-2004, 22:32 
 
Und der wäre? die performance.... ;)

 
roNn
14-02-2004, 22:35 
 
die performance....

Sicher aber das sind so wenige µ-Sekunden, also bitte... das ist wie mit den " und ' ..

 
Abraxax
14-02-2004, 22:57 
 
ja. aber viele µs zusammen macht auch ne ganze menge......

 
derHund
14-02-2004, 22:59 
 
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 ...

 
roNn
14-02-2004, 23:10 
 
Gut und .. stimmt schon.. mhh dann ahlt Punkt an euch *gg*

 
TobiaZ
15-02-2004, 10:09 
 
hab extra geschrieben "versuch mal", weil ich mir net sicher war, obs wirklich was aus macht.

Fehler war natürlich das current()

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:03 Uhr.