PDA

View Full Version : Insert birthday to database


zoliky
07-21-06, 09:20 AM
The user has the following options to select on form:


Birthday:<br />
<select name="month">
<option value="0">January</option>
<option value="1">February</option>
<option value="2">March</option>
<option value="3">April</option>
<option value="4">May</option>
<option value="5">June</option>
<option value="6">July</option>
<option value="7">August</option>
<option value="8">September</option>
<option value="9">October</option>
<option value="10">November</option>
<option value="11">December</option>
</select>
<select name="day">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</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><input type="text" name"year" value="YYYY" size="4" /></p><br />


In which format I need to add the birthday data to mySQL database ?
I think the user select : February-3-1985

Anyone help me with an INSERT example?

Nico
07-21-06, 12:24 PM
The format depends on what you're planning to do with the birthdate later. I usually store it as timestamp, cause this is the best way in my opinion to work with it later. If you just want to display it in the same format as you insert it, you could use mktime() and date() to get the format you want - February-3-1985.



$timestamp = mktime(0, 0, 0, $_POST['month'], $_POST['day'], $_POST['year']);

$insert_date = date('M-j-Y', $timestamp);


Oh, and if you're too lazy to create the year drop down, you can use a loop instead. :p



for ($y = 1970; $y <= date('Y'); $y++)
{
echo '<option value="'. $y .'">'. $y .'</option>';
}

zoliky
07-21-06, 12:24 PM
When I put the following line in source code :


print '<pre>'.print_r($_POST, true).'</pre>';


I see this :

[month] => 2
[day] => 1
[year] => YYYY

I want to put this values in mysql.

I use this for teting : date('n', $month) or date($month) but not work !

I use the following mySQL colum for date:


birthday DATE NOT NULL


I appreciate any help !

Thanks

zoliky
07-21-06, 12:54 PM
I want to insert the value to mySQL.

This is my insert line :


mysql_query ("INSERT INTO register (user_id, username, password, email, tel, adress, birthday, validate, forgetpwd, date_entered) VALUES (0, '".varCheck($_POST['username'])."', '".crypt($_POST['password'],"{$_POST['username']}")."', '".varCheck($_POST['email'])."', '".varCheck($_POST['tel'])."', '".varCheck($_POST['adress'])."', '".date('M-j-Y', $timestamp)."', '".sha1($_POST['username']. time())."', '0', NOW())") or die (mysql_error());


Please see the birthday column

zoliky
07-22-06, 03:42 AM
nico_swd thank you very much !

I use this to store the data in birthday in DATE NOT NULL column :


$datum = $_POST['year']."-".$_POST['month']."-".$_POST['day'];
$query = sprintf( "INSERT into register (birthday) VALUES ('%')", mysql_real_escape_string( $datum));

;)