Reputation: 4740
I am attempting to record a time (hours:mins:secs) chosen by the user via select
form. The other data posted via the form is entered correctly in the database but the "start time" is being recorded as 0000-00-00 00:00:00
.
User selects the start time here:
<p >Start time (24hrs):
<span class="right">
Hour:
<select name="event-start-time-hours" class="event-time">
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08" selected>08</option>
<option value="09">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>
</select>
Min:
<select name="event-start-time-mins" class="event-time">
<option value="00" selected >00</option>
<option value="05">05</option>
<option value="10">10</option>
<option value="15">15</option>
<option value="20">20</option>
<option value="25">25</option>
<option value="30">30</option>
<option value="35">35</option>
<option value="40">40</option>
<option value="45">45</option>
<option value="50">50</option>
<option value="55">55</option>
</select>
and is recorded via:
$event = new event($_POST, $dbh);
// Record Event to database
$event->setEvent();
I format the start time in the setevent() method like so:
// format start time
$stime = mktime($_POST['event-start-time-hours'], $_POST['event-start-time-mins'], 0);
$eventStartTime = date("H:i:s", $stime);
and bind the variable like os:
$stmt->bindParam(11, $eventStartTime);
Which correlates to the correct column in the table.
So why is it not recorded in the datetime
field?
Upvotes: 0
Views: 204
Reputation: 4425
Field type in database is set to DateTime
use Time
instead.
It will work.
Upvotes: 1
Reputation: 468
set the datetime field to timefield only and it'll work
When the tring to save data in a field which accepts data in this format 0000-00-00 00:00:00 which means yyyy-mm-dd hh:mm:ss if you want to save only time data then change the field column type to time.
Upvotes: 1