我正在使用HTML,PHP和MySQL做一个待办事项列表网页,但我无法将日期时间提交到数据库:
.HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Sign Controller</title>
<link rel="stylesheet" href="/css/style.css" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="update.js"></script>
</head>
<body>
<!--MAIN CONTENT HERE-->
<div class="container">
<form id="controller" action="php/update.php" method="post">
<h3>Sign display controller</h3>
<h4>Event Controller</h4>
<fieldset>
<input placeholder="sign ID" type="text" name="sign_Name" tabindex="1" required autofocus/>
</fieldset>
<h5>Event Start</h5>
<fieldset>
<input type="datetime-local" name="time_eventStart" tabindex="2" required/>
</fieldset>
<h5>Event End</h5>
<fieldset>
<input type="datetime-local" name="time_eventEnd" tabindex="3" required/>
</fieldset>
<fieldset>
<input placeholder="Event source" type="text" name="event_Source" tabindex="4"/>
</fieldset>
<fieldset>
<input placeholder="Idle source" type="text" name="idle_Source" tabindex="5"/>
</fieldset>
<button type="submit">Update</button>
</form>
</div>
</body>
</html>
.PHP:
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "projectSS";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sign_Name = $_POST["sign_Name"];
$event_Source = $_POST["event_Source"];
$idle_Source = $_POST["idle_Source"];
$time_eventStart = $_POST["time_eventStart"];
$time_eventEnd = $_POST["time_eventEnd"];
$sql = "INSERT INTO display (sign_Name,event_timeStart,event_timeEnd,event_Source,idle_Source)
VALUES ('$sign_Name','$time_eventStart','$time_eventEnd','$event_Source','$idle_Source')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
我很难处理datetime-local
类型,而且我是编程新手。
只需根据MySQL标准更改日期时间格式
如果您的列数据类型date
下面使用
$time_eventStart = date('Y-m-d',strtotime($_POST["time_eventStart"]));
$time_eventEnd = date('Y-m-d',strtotime($_POST["time_eventEnd"]));
如果您的列数据类型datetime
下面使用
$time_eventStart = date('Y-m-d H:i:s',strtotime($_POST["time_eventStart"]));
$time_eventEnd = date('Y-m-d H:i:s',strtotime($_POST["time_eventEnd"]));
更改查询。您的查询未执行。
试试这个:
$sql = "INSERT INTO display (sign_Name,event_timeStart,event_timeEnd,event_Source,idle_Source)
VALUES ('".$sign_Name."','".$time_eventStart."','".$time_eventEnd."','".$event_Source."','".$idle_Source."')";
试试这样的事情
$date = '2014-06-06 12:24:48'; echo date('d-m-Y (H:i:s(', strtotime($date((;
然后保存它。
datetime-local
它被认为是24小时格式,因此如果您选择
07/12/2017 12:00 AM
它发布2017-07-12T00:00
.在插入查询中,只需将已发布的值放入查询中即可。
$_POST['time_eventStart'].
此外,如果您将日期时间打印到输入
echo
发布的值。
<input type="datetime-local" name="time_eventStart" value="<?php echo $_POST['time_eventStart']; ?>" tabindex="2" required="" />