여기 내 문제가 있습니다. 내 양식에 사용자가 지정한 날짜가 전혀 쌓이지 않는 표의 모든 행을 사용하는 쿼리를 만들고 싶습니다.날짜 형식 때문에 내 실수가있을 수 있습니까?
나는 두 날짜 필드와 형태가 있습니다
<!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 pl에 대해 신경 쓰지 않습니까?
어쩌면 날짜 형식을 'yyyy-mm-dd'로 설정해야 할 수도 있습니다. 당신은'mm-dd-yy'처럼 그것을 얻나요? – vaso123