2017-08-10 12 views
-2

レンタカーを作成したいと思います。私はテーブルにそれぞれの新しいデータを追加しました。私は同じ6台の車を持っているex.ifのために、車のテーブルは6つのデータを持っています。 予約は車のように追加され、毎日予約テーブルに追加されました。 しかし、私は無料の車を検索することはできません。 予約の検索(MYSQL + PHP)

<form action="x.php" method="post"> 
 
    <label>baslangic</label><input type="text" name="start"> 
 
    <label>bitis</label><input type="text" name="end"> 
 

 
    <button type="submit">Search</button> 
 
</form> 
 

 
<?php 
 
include('admin/db/login.php'); 
 
$startTime = strtotime($_POST['start']); 
 
$endTime = strtotime($_POST['end']); 
 
for ($i = $startTime; $i <= $endTime; $i = $i + 86400) { 
 
$day = date('d.m.Y', $i); 
 
$dates=mysql_query("SELECT * from cars where car_active='1' and not car_id in (SELECT car_id From cars JOIN reservations on cars.car_id=reservations.car_id2 where reservations.reservations_day='$day')"); 
 
while ($date=mysql_fetch_assoc($dates)){ 
 
echo $date['car_id']; 
 
echo "<br>";}} 
 
?>

答えて

0

car_id NOT IN (SELECT ....) 

とMySQLの拡張が廃止され、将来的に削除されますので、接続のためにmysqliのやPDOを使用するクエリを修正します。

+0

それが正しいに見えるが、それは動作していません。私が検索すると、このクエリはすべてを出すか何もしません。あなたは私のmysqlとphpコードを調べることができますか? –

+0

私は3日間書いても、それは3ピースのcar_idを取るので、その仕事はしません。私は別名を使用していますが、ループはforと一緒に動作するため、動作しません。 –

0

この問題を解決しました。

$startTime = ($_POST['start']); 
 
$endTime = ($_POST['end']); 
 

 

 

 
$dates=mysql_query("SELECT * from cars where car_id not in (SELECT car_id2 From reservations where reservation_day BETWEEN '$startTime' AND '$endTime') "); 
 
while ($date=mysql_fetch_assoc($dates)){ 
 
    echo $date['car_id']; 
 
    echo "<br>"; 
 
}