#php #mysql
#php #mysql
Вопрос:
Я делал приложение для бронирования объектов, которое позволяет пользователю искать объект с заданным типом объекта, датой, временем заезда и выезда.
Например: пользователь ищет площадку для бадминтона в 20-08-2016, а время регистрации — с 18:00 до 20:00 (время выезда), запись в базе данных существует с 18:00 до 20:00, она должна возвращать «Недоступно», пока это работает хорошо. Но если время регистрации составляет 18:30, а время выезда — 19:30, то есть между 18:00 и 20:00, он не будет отображать «Недоступно».
Итак, моя проблема в том, как сделать так, чтобы с 18:00 до 20:00 стало интервалом, и заблокировать время между регистрацией и временем выезда, чтобы оно не показывало другой результат.
Я пытался включить этот код в PHP, но он не работает
if($response["time_in"]<$time_in<$response["time_out"])
echo "Not Available";
else if($response["time_in"]<$time_out<$response["time_out"])
echo "Not Available";
Это весь мой search.php файл, который используется для извлечения данных из базы данных
PS: time_in эквивалентно времени регистрации, time_out эквивалентно времени выезда
?php
$con = mysqli_connect("mysql1.000webhost.com" , "a6539091_UD" , "0108981390" , "a6539091_UD") or die(mysql_error());
$venue = $_POST["Venue"];
$facility = $_POST["Facility"];
$date = $_POST["Date"];
$time_in = $_POST["Time_in"];
$time_out = $_POST["Time_out"];
$selectquery = mysqli_prepare($con, "SELECT * FROM SearchAva WHERE (Venue = ? AND Facility = ? AND Date = ? AND Time_in = ? AND Time_out = ?)");
mysqli_stmt_bind_param($selectquery, "sssss", $venue, $facility, $date, $time_in, $time_out);
mysqli_stmt_execute($selectquery);
mysqli_stmt_store_result($selectquery);
mysqli_stmt_bind_result($selectquery, $venue, $facility, $date, $time_in, $time_out);
$response = array();
while(mysqli_stmt_fetch($selectquery)){
$response["venue"] = $venue;
$response["facility"] = $facility;
$response["date"] = $date;
$response["time_in"] = $time_in;
$response["time_out"] = $time_out;
}
if($time_in>$response["time_in"] amp;amp; $time_in<$response["time_out"])
echo "Not Available";
else if($time_out>$response["time_in"]amp;amp; $time_out<$response["time_out"])
echo "Not Available";
echo json_encode($response);
mysqli_stmt_close($selectquery);
mysqli_close($con);
?>
Комментарии:
1. в вашем цикле while есть какая-то проблема. Проверьте свою логику
2. @DipanwitaKundu но это хорошо работает без двух операторов if … вы можете быть более конкретными? спасибо = D
3. в чем разница между
$time_in
и$response["time_in"]
тем, как вы вводите значение $ time_in в$response["time_in"]
4. @DipanwitaKundu $time_in — это переменная, которая получает пользовательский ввод, $response [«time_in»] — это массив, который хранит пользовательский ввод
5. но вы помещаете ` $response [«time_in»] = $ time_in;` внутри цикла while