Если пользователь выбирает дату между "2015-08-27 to 2015-08-29"
затем 29 считается дата его фотографии, поэтому я хочу, чтобы выводить ставки 27 & 28.Минус в день в DATEDIFF запросе
Прямо сейчас этот код ниже выходов 3-х дней, его просто нужно вывести 2 дня
база
$pdo = $dbo->prepare(
"SELECT r.*, rr.rid, SUM(ABS(DATEDIFF(:ci, :co) * rr.rate)) as totalsum, rr.sdate, rr.edate
FROM rooms r
LEFT JOIN rates as rr ON r.id=rr.rid
WHERE r.id NOT IN (SELECT room_id FROM reservation as b WHERE (b.checkout <= :ci
AND b.checkin >= :co) OR (b.checkout >= :ci AND b.checkin <= :co))
AND (rr.sdate >= :ci AND rr.edate <=:co) OR (rr.sdate <=:ci AND rr.edate >=:co)
GROUP BY rr.rid, r.room_name");
//$pdo->bindValue(':stat', 'confirm', PDO::PARAM_STR);
$pdo->bindParam(':ci', $check_in, PDO::PARAM_STR);
$pdo->bindParam(':co', $check_out, PDO::PARAM_STR);
if (!$pdo->execute()) {
print_r($pdo->errorInfo());
} else {
//Do something
}
Неясные вопрос. Каковы ваши таблицы (показать структуру и образец данных)? Что возвращает запрос? Какой результат вы ожидаете? – rlanvin
прямо сейчас запрос выводит 3-дневные тарифы, которые просто нужно вывести 2 дня – Jonathan
, тогда не используйте <=, но просто <, так как вы хотите меньше, чем день выписки – BugFinder