Имам проблем със заявка, която би трябвало да ми изведе всички редове от таблицата, които не са между зададен от потребителя период.
В инпут формата съм сложил две полета, в които чрез Джкери календар се попълват две дати (начална и крайна дата). Това което искам е когато потребителя натисне субмит бутона заявката да му изведе всички редове от таблица, които по никакъв начин не се засичат с зададения период.
Формата:
Ето и заявката:
Заявката си работи до "WHERE" клаузата. Изкарва ми всички налични редове в таблицата и не се влияе от зададените параметри във формата. Знам, че най-вероятно грешката ми е тук :
но не знам как да го запиша.
В инпут формата съм сложил две полета, в които чрез Джкери календар се попълват две дати (начална и крайна дата). Това което искам е когато потребителя натисне субмит бутона заявката да му изведе всички редове от таблица, които по никакъв начин не се засичат с зададения период.
Формата:
Код:
<!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="text" id="datepicker" name="d1"></p></div>
<div class='ddate'><p>Дата на връщане:<input type="text" 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 rent_date < '%d1%' OR return_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;
}
?>
Заявката си работи до "WHERE" клаузата. Изкарва ми всички налични редове в таблицата и не се влияе от зададените параметри във формата. Знам, че най-вероятно грешката ми е тук :
Код:
rent_date < '%d1%' OR return_date > '%d2%'"