我很难做到这一点,这是原始查询
$this->db->query(
'
SELECT
*
FROM
lodgebookings
WHERE
lodge_name = "willow"
AND
(
(
checkin_date_user BETWEEN "' . date('Y-m-d',strtotime($book_date)) . ' 14:30:00"
AND
"' . date('Y-m-d',strtotime('+1 day',strtotime($book_date))) . ' 11:30:00"
)
OR
(
"' . date('Y-m-d',strtotime($book_date)) . ' 14:30:00"
BETWEEN
checkin_date_user
AND
checkout_date_user
)
)
'
);
现在此查询仅根据 $book_date 返回数据我想要做的是返回没有 $book_date 的数据,这意味着所有 checkin_date_user 和 checkout_date_user 之间的所有日期和所有日期,时间为 14:30:00
更新:我已经用过时间这是我的代码
$query = $this->db->query(
'
SELECT
*
FROM
lodgebookings
WHERE
lodge_name = "willow"
AND
TIME(checkin_date_user) = "14:30:00"
AND
(
(
"' . date('Y-m-d', strtotime($book_date)) . ' 14:30:00"
BETWEEN
checkin_date_user
AND
checkout_date_user
)
)
'
);
它仍然需要 $book_date,当然它只会返回取决于 $book_date 的数据..如果我不使用 $book_date 它返回 null
更新:
实际上它真的不会返回任何东西,因为我只有 11:30:00 的所有 checkout_date_user .. 如果例如 checkin =2013-10-19 14:30:00
checkout= 2013-10-20 11:30:00我根本不会有任何问题我可以查询签入我的问题是在日期签入=2013-10-19 14:30:00 签出=2013-10-21 11:30:00
之间
我需要得到结帐日期之前的日期