好的,这是我的问题。我想做一个查询,它将我的表的所有行都放在我的表单中根据用户给定的日期根本不堆叠的地方。这有可能是我的错误,因为日期格式?
我有两个日期字段的表单:
<!DOCTYPE html>
<head>
<title>Ha</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="jquery-ui.css">
<script src="jquery.min.js" type="text/javascript" ></script>
<script src="jquery-ui.js"></script>
<script>
$(function() {
$("#datepicker").datepicker();
});
$(function() {
$("#datepicker1").datepicker();
});
</script>
</head>
<body>
<form method="POST" action="cars.php">
<fieldset>
<legend>Rent A Car</legend>
<div class='ddate'><p>Дата на наемане:<input type="date" id="datepicker" name="d1"></p></div>
<div class='ddate'><p>Дата на връщане:<input type="date" id="datepicker1" name="d2"></p></div>
<input type="submit" value="Провери" name="submit"/>
</fieldset>
</form>
</body>
</html>
,我有一个查询在那里我认为这个问题是日期格式。
<?php
//Connection
include "connect.php";
$d1 = $_POST['d1'];
$d2 = $_POST['d2'];
//Query
$sql = "SELECT cars.brand,cars.model,cars.reg_num,cars.horse_powers,cars.color FROM cars INNER JOIN clients_cars ON cars.id=clients_cars.cars_id WHERE cars.id IN
(SELECT DISTINCT clients_cars.cars_id FROM clients_cars WHERE (rent_date not between '$d1' AND '$d2') AND (return_date not between '$d1' AND '$d2') AND ((return_date < '$d1') OR (rent_date > '$d2')))";
$result = mysqli_query($con, $sql);
echo mysqli_error($con);
while ($row= mysqli_fetch_array($result)){
$brand = $row['brand'];
$model = $row['model'];
$reg_num = $row['reg_num'];
$horse_powers = $row['horse_powers'];
$color = $row['color'];
echo $brand;
}
?>
当我提交此查询需要我出列“品牌”不,我选用到日期输入字段的参数问题的所有行。
我该怎么办?也许我需要更改日期类型?或者我不知道...它看起来像查询是正确的,它的工作,但它并不关心$ d1和$ d2有人可以帮助我吗?
也许你需要设置日期格式为'yyyy-mm-dd'。你喜欢'mm-dd-yy'吗? – vaso123 2014-12-02 10:47:28