我有一个包含的htmlcode。我输入的值类似于" 01:00 AM"在输入字段中。当我将输入的时间值插入数据库表时,只有" 01:00"正在插入," AM"没有插入数据库。我使用了数据类型" varchar(20)"对于数据库表中的时间字段。任何人都可以告诉如何将AM和PM的全部时间插入数据库?
html:
<form action="projectinser.php" method="post">
<div id="dynamicInput" style="display:inline" >
<input type="text" name="itemname" pattern="[a-zA-Z ]+" placeholder="Item" value="" size="35">
</div>
<div id="dynamicInput1" style="display:inline">
<input type="text" name="sdate" id="datepicker" placeholder="Enter Start Date" value="" size="34">
</div>
<div id="dynamicInput" style="display:inline">
<input type="time" name="stime" placeholder="Enter Time"
value="" size="34">
</div>
<div id="dynamicInput2" style="display:inline">
<input type="text" name="details" pattern="[a-zA-Z ]+" placeholder="Enter Details" value="" size="34">
</div>
</form>
projectinser.php
<?php
$itemname = $_POST['itemname'];
$sdate = $_POST['sdate'];
$details = $_POST['details'];
$stime = $_POST['stime'];
$sql= "INSERT INTO projectdetail (projectid, item, remainderdate, time, details) VALUES ('$cid', '$itemname', '$sdate', '$stime', '$details')";
mysqli_query($con,$sql);
?>
答案 0 :(得分:0)
你可以做两件事。您可以将列更改为实际的DATETIME或TIME字段。这样它就会将时间存储为实时格式。
或者你可以在插入时执行此操作。
$input = $_POST['input'];
$the_time = date('h:i A', strtotime($input));
我在这里提供了一个示例,其中有3个示例,时间戳被转换为您想要的格式。
Example 但是,我建议将它们存储为实际时间戳,这样你可以在将来操作它们,如果需要的话
更新:(包括您的代码)
$stime = $_POST['stime'];
$the_time = date('h:i A', strtotime($stime));
$sql= "INSERT INTO projectdetail (projectid, item, remainderdate, time, details) VALUES ('$cid', '$itemname', '$sdate', '$the_time', '$details')";
mysqli_query($con,$sql);
答案 1 :(得分:0)
将类型更改为类型=&#34;文本&#34; 应该修复此问题,因为您正在为表使用varchar。
<input type="text" name="stime" placeholder="Enter Time"