• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Geburtsdatum speichern

wessei

Neues Mitglied
ich arbeite zur Zeit an der Geburtstagsfunktion und weis grade nicht mehr weiter.

also ich hab in meiner Datenbank den Tag, Monat, Jahr extra gespeichert um diese später auf der Userseite auslesen zu lassen.

HTML:
   <div class="user_daten_be"><span title="Ihr Alter">Alter:</span></div>
<?php
            $alter_gt = htmlentities($row['Alter_gt'], ENT_QUOTES);
            $alter_gm = htmlentities($row['Alter_gm'], ENT_QUOTES);
            $alter_gj = htmlentities($row['Alter_gj'], ENT_QUOTES);
?>
   <div class="user_daten_alter_gt">
       <select class="select" name="Alter_gt">
                    <option value="">T</option>
                    <option value="1">01</option>
                    <option value="2">02</option>
                    <option value="3">03</option>
                    <option value="4">04</option>
                    <option value="5">05</option>
                    <option value="6">06</option>
                    <option value="7">07</option>
                    <option value="8">08</option>
                    <option value="9">09</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                    <option value="13">13</option>
                    <option value="14">14</option>
                    <option value="15">15</option>
                    <option value="16">16</option>
                    <option value="17">17</option>
                    <option value="18">18</option>
                    <option value="19">19</option>
                    <option value="20">20</option>
                    <option value="21">21</option>
                    <option value="22">22</option>
                    <option value="23">23</option>
                    <option value="24">24</option>
                    <option value="25">25</option>
                    <option value="26">26</option>
                    <option value="27">27</option>
                    <option value="28">28</option>
                    <option value="29">29</option>
                    <option value="30">30</option>
                    <option value="31">31</option>
                </select>
            </div>
   <div class="user_daten_alter_gm">
       <select class="select" name="Alter_gm">
                    <option value="">M</option>
                    <option value="1">01</option>
                    <option value="2">02</option>
                    <option value="3">03</option>
                    <option value="4">04</option>
                    <option value="5">05</option>
                    <option value="6">06</option>
                    <option value="7">07</option>
                    <option value="8">08</option>
                    <option value="9">09</option>
                    <option value="10">10</option>
                    <option value="11">11</option>
                    <option value="12">12</option>
                </select>
            </div>
   <div class="user_daten_alter_gj">
       <select class="select" name="Alter_gj">
                    <option value="0">J</option>
                    <option value="2012">2012</option>
                    <option value="2011">2011</option>
                    <option value="2010">2010</option>
                    <option value="2009">2009</option>
                    <option value="2008">2008</option>
                    <option value="2007">2007</option>
                    <option value="2006">2006</option>
                    <option value="2005">2005</option>
                    <option value="2004">2004</option>
                    <option value="2003">2003</option>
                    <option value="2002">2002</option>
                    <option value="2001">2001</option>
                    <option value="2000">2000</option>
                    <option value="1999">1999</option>
                    <option value="1998">1998</option>
                    <option value="1997">1997</option>
                    <option value="1996">1996</option>
                    <option value="1995">1995</option>
                    <option value="1994">1994</option>
                    <option value="1993">1993</option>
                    <option value="1992">1992</option>
                    <option value="1991">1991</option>
                    <option value="1990">1990</option>
                    <option value="1989">1989</option>
                    <option value="1988">1988</option>
                    <option value="1987">1987</option>
                    <option value="1986">1986</option>
                    <option value="1985">1985</option>
                    <option value="1984">1984</option>
                    <option value="1983">1983</option>
                    <option value="1982">1982</option>
                    <option value="1981">1981</option>
                    <option value="1980">1980</option>
!!! bis mindestens jahr 1900 !!!
                </select>
            </div>

weis jetzt aber nicht, wie ich den/das richtige(n) Tag, -Monat, -Jahr von der Datenbank in dieser Liste selektieren kann.
das weitere problem, wie kann ich die Tage eines Monats auslesen und bei einem Schaltjahr den Februar also $alter_gm = 2 die Tage auf 29 setze.

gibt es da eventuell schon eine bessere möglichkeit oder wie kann ich dies anpassen?

mfg. wessei
 
Werbung:
Hallo,

also erster fehler ist
also ich hab in meiner Datenbank den Tag, Monat, Jahr extra gespeichert um diese später auf der Userseite auslesen zu lassen.
da für gibt es ein extra feld zb: date.

Aber wenn das weiter soch machst dann geht das so mit dem selectieren, das machst mit einer schleife und speicherst vorher die werte in ein array hier $options, wenn das
PHP:
      <select  name="Alter_gt">
        <?php $options = array(''=>'T','1' =>'1','2' =>'2');
        $current = $alter_gt;
        foreach ( $options as $option => $text){
        $selected = ($option == $current) ? ' selected="selected"' : '';
        echo '<option'. $selected .' value="'.$option.'">'. $text .'</option>';
        } ?>
      </select>
Das mit dem Schaltjahr geht nur wenn nach senden per php testest ob die eingabe valide ist. kommt ja noch 30 bzw 31 tage im monat, wenn einer mal 31.4. eingibt, was es ja zumindest im mein Kalender ja auch nicht gibt :O).

Cheffchen
 
wie würde das mit date() aussehen?

ohh ok mit der foreach hab ich noch nicht nachgedacht danke.

was währe demnach die bessere wahl wenns ums schaltjahr oder 30 und 31 tage geht. wie ichs vor dem speichern überprüfe würd ich hinbekommen aber ist sehr umständlich. da gibts ja bestimmt schon eine bessere lösung oder?

mfg. wessei
 
Werbung:
Hallo,

also bei Date wie das Datum als Datum gespeichert also "1982-04-24".
bei der ausgabe kannst das einfach teilen mit explode - und damit hast wieder 3 einzelne zahlen.

Die sache mit den 30 31 geht nur richtig mit einer php prüfung, wenn fehler wieder zurück zum Formular, alles andere währe Javascript und damit nicht sicher.

Eine besser lösung kenne ich nicht, soll aber nichts heissen :O)

Cheffchen
 
Zurück
Oben