最近遇到一个问题,无法解决。我有一个客户预订表单,其中有一个下拉菜单,该菜单连接到一个包含处理等的数据库,显示所有数据,我还有一个 jQuery DatePicker,并进一步计划很快实现一个 jQuery TimePicker。
当我尝试将要更新的表单提交到 mySQL 数据库时,没有任何数据通过。它甚至没有显示为数组,因为我 var_dump($_POST)
整个事情。我还有一个文本区域,它说数据通过了,但实际上并没有出现在数据库中。
这是var_dump($_POST)
:
这是数据库下拉PHP代码:
<!-- All database connection stuff followed by the following: -->
$query = "SELECT * FROM `Treatments`";
$result = mysql_query($query, $con);
$options = "";
if (!$result){
die("No results found.");
}
while ($row = mysql_fetch_array($result)){
$options .= "<option>$row[1]</option>";
}
?>
这是插入到我的数据库中的内容:
- 我将 mySQL 中的数据类型设置为日期的 DATE
和时间的 TIME
-
这是我的PHP:
<?php
var_dump($_POST);
$hostname = 'hostname';
$dbname = 'dbname';
$username = 'username';
$password = 'password';
$con=mysql_connect($hostname,$username,$password) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db($dbname,$con) or die("Failed to connect to MySQL: " . mysql_error());
$insert = "INSERT INTO Booking_request_form (Treatment, Date, Time, Message) VALUES('".$_POST["Treatment"]."','".$_POST["Date"]."', '".$_POST["Time"]."', '".$_POST["Message"]."')";
var_dump($insert);
$handle = mysql_query($insert);
var_dump($handle);
?>
这是我的 HTML 表单:
我已经注释掉了 TimePicker,因为它对我不起作用。
<form action="treatment_form.php" method="post">
<div class="heading1">
<p>Select Your Treatment:</p>
</div>
<div class="dropdown">
<select><?php echo $options; ?></select>
</div>
<div class="heading2">
<p>Select Your Date:</p>
<input type="text" id="datepicker"/>
<script>
$(function() {
$( "#datepicker" ).datepicker({dateFormat: 'dd/mm/yy'});
});
</script>
</div>
<div class="heading3">
<p>Select Your Time:</p>
<input type="text" id="timepicker"/>
<!-- <script>
$(function($) {
$(function() {
$('input.timepicker').timepicker();
});
})(jQuery);
</script> -->
</div>
<div class="heading4">
<p>Add a message for our Staff:</p>
<textarea name="message" placeholder="Enter Message..."></textarea>
</div>
<div class="submit">
<input type="submit" value="Request Booking" id="Submit">
</div>
</form>
最佳答案
请为以下元素提供名称属性,例如:
1. <input type="text" id="datepicker name="date_attr"/>
2. <input type="text" id="timepicker" name="time_attr"/>
3. <div class="dropdown">
<select name="treatment"><?php echo $options; ?></select>
</div>
然后尝试打印 $_POST 变量
好的,在插入之前格式化日期和时间:
1) $_POST['date_attr'] to date('Y-m-d',strtotime($_POST['date_attr']))
2) $_POST['time_attr'] to date('H:i:s',strtotime($_POST['time_attr']))
关于javascript - 将数据库下拉列表和 jQuery DatePicker 数据发送到 mySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35174850/