我正在创建一个酒店预订应用程序。我如何获取两个日期之间的数据。
这是我的 Controller 逻辑。
public function GetMarriageDate(){
$frm = $this->input->post('from');
$to = $this->input->post('to');
$date=$this->db->query("SELECT * FROM `tbl_marriagebooking` WHERE (to_date BETWEEN '$frm' AND $to')UNIONSELECT * FROM `tbl_marriagebooking` WHERE (from_date BETWEEN '$frm' AND to')");
$count=$date->num_rows();return $count;
}
我的数据库表(tbl_marriageBooing)
id name to_date from_date
1 name 1 2014-11-15 2014-11-18
2 name 2 2014-11-20 2014-11-24
3 name 3 2014-11-26 2014-11-30
我的问题是,如果有人在这种情况下从 2014-11-23
选择日期 to=2014-11-20
,则 sql 返回或选择 id = 2
因为 2014-11-24
的 2014-11-20
已被预订。
最佳答案
尝试
$frm = date('Y-m-d', strtotime($this->input->post('from')));
$to = date('Y-m-d', strtotime($this->input->post('to')));
$date=$this->db->query("SELECT * FROM tbl_marriagebooking WHERE DATE(to_date) >= '$to' AND DATE(from_date) <= '$frm'");
对于两个日期完全匹配
$date=$this->db->query("SELECT * FROM tbl_marriagebooking WHERE DATE(to_date) = '$to' AND DATE(from_date) = '$frm'");
关于php - 如何从数据库中获取两个日期之间的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26734532/