Offtopic
palicora Mh das sind ja dürftige Infos?...
Nicht eingeloggt

Registrieren
Login

derblubber
Betriebsnudel

- 16.05.10 17:11 Uhr
Hallo,
Ich habe eine Frage bezüglich einem Formular mit dem man einen Geburtstag editieren kann.
Ich speichere die Geburstage im Format DATE, also 0000-00-00.
So jetzt möchte ich, dass der Geburtstag immer wenn er gespeichert wird auch in einem select auch so wieder angezeigt wird und nicht wieder alle Werte ganz am Anfang der select Liste stehen.

Ich hoffe jemand hats verstanden Danke für alle Antworten


XHTML 10/10, PHP 9/10, MY(SQL) 9/10, C++ 7/10, ASP.NET 5/10, CSS 1-3 10/10, JQuery 8/10, Javascript/AJAX 8/10
Till
Neuling

- 16.05.10 19:26 Uhr
Du ziehst die einzelnen Daten, Jahr/Monat/Tag, einfach mit explode() heraus und überprüfst dann in der for() schleife, ob das übereinstimmt. Dann setzt du einfach ein selected="selected" ;)

Hier mal ein kurzes Beispiel:
Code:
$geburtsdaten = 1990-03-09                           //Jahr,Monat,Tag
$split = explode("-", $geburtsdaten);                //split[0],split[1],split[2]

echo 'Tag: <option name="tag">
for($count = 1; $count < 31; $count++)
{
       echo '<select value="'.$count.'"'.($split[2] == $count ? ' selected="selected"' : ''.'>'.$count.'</select>';
}
echo '</option>';

echo 'Jahr<option name="jahr">
for($count = 1900; $count < date("Y", time()); $count++)
{
       echo '<select value="'.$count.'"'.($split[2] == $count ? ' selected="selected"' : ''.'>'.$count.'</select>';
}
echo '</option>';


So könnte das z.B. aussehen

Ps.: Es könnten ein paar Fehler drin sein, hab das gerade mal schnell geschrieben

Der Eintrag wurde am 16.05.10 19:27 Uhr von Till geändert.


Ich wars nich, ich hätts sein können, ich bins aber nicht gewesen!

Wo kämen wir hin, wenn jeder sagen würde, wo kämen wir hin und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen.
Patrick_W
Administrator

- 16.05.10 19:49 Uhr
Code:
<?php

$date 
'1991-06-24';
$date_ex explode('-'$date);

?>

Jahr: <option>
...
<select<?php if ($date_ex[0] == 1990): ?> selected<?php endif; ?>>1990</select>
<select<?php if ($date_ex[0] == 1991): ?> selected<?php endif; ?>>1991</select>
<select<?php if ($date_ex[0] == 1992): ?> selected<?php endif; ?>>1992</select>
...
</option>


Das dürfte dir helfen?


derblubber
Betriebsnudel

- 17.05.10 01:02 Uhr
ja klasse! Das war mehr als ich erwartet habe...hat aufjedenfall mein Problem gelöst. Danke! ;)

PS: Hier den Code den ich jetzt verwende:

Code:
$geburtstag = '1991-10-14';
$split = explode("-", $geburtstag);

echo 'Tag: <select name="gebtag">';
for($countt = 1; $countt < 32; $countt++)
{
         echo '<option value="'.$countt.'" ';
         if($split[2] == $countt)
         {
                 echo 'selected="selected">'.$countt.'</option>';
         }
         else
         {
                 echo '>'.$countt.'</option>';
         }
}
echo '</select>

Monat: <select name="gebmonat">';
for($countm = 1; $countm < 13; $countm++)
{
         echo '<option value="'.$countm.'" ';
         if($split[1] == $countm)
         {
                 echo 'selected="selected">'.$countm.'</option>';
         }
         else
         {
                 echo '>'.$countm.'</option>';
         }
}
echo '</select>

Jahr<select name="gebjahr">';
for($countj = 1950; $countj < date("Y", time()); $countj++)
{
         echo '<option value="'.$countj.'" ';
         if($split[0] == $countj)
         {
                 echo 'selected="selected">'.$countj.'</option>';
         }
         else
         {
                 echo '>'.$countj.'</option>';
         }
}
echo '</select>';


Habs nen bisschen anders gemacht , aber so funktionierts super!

Der Eintrag wurde am 17.05.10 01:33 Uhr von derblubber geändert.

XHTML 10/10, PHP 9/10, MY(SQL) 9/10, C++ 7/10, ASP.NET 5/10, CSS 1-3 10/10, JQuery 8/10, Javascript/AJAX 8/10
Patrick_W
Administrator

- 17.05.10 19:29 Uhr
freut mich ;)

man muss nur wissen wie...


derblubber
Betriebsnudel

- 18.05.10 00:02 Uhr
Dann kann das Thema hier geclosed werden, da ich denke, dass alles beantwortet wurde und das laufende Script nun vorhanden ist.


XHTML 10/10, PHP 9/10, MY(SQL) 9/10, C++ 7/10, ASP.NET 5/10, CSS 1-3 10/10, JQuery 8/10, Javascript/AJAX 8/10


©2011 Itschi.Net