【发布时间】:2020-07-21 09:29:49
【问题描述】:
我正在处理一个需要以下查询但我无法完成的项目。
数据库:evenstdb
--------------------------------------
| Event_id | startDate | endDate |
--------------------------------------
|82637 |01-02-2020 | 02-03-2020 |
--------------------------------------
|66363 |10-03-2020 | 31-11-2020 |
--------------------------------------
我有一个页面,我应该根据所选日期范围列出事件。一切正常,但问题是有时我会两次列出相同的事件,因为我同时根据startDate 和endDate 列出事件。有时开始和结束日期在选定的日期范围内。如何只显示一次事件?
我的代码:
// $date1 and $date2 are date inputs from the form
$query = $this->db->where('startDate >=', $date1);
$query = $this->db->where('startDate <=', $date2);
$query = $this->db->get('evenstdb');
$results1 = $query->result();
$query = $this->db->where('endDate >=', $date1);
$query = $this->db->where('endDate <=', $date2);
$query = $this->db->get('evenstdb');
$results2 = $query->result();
$data["eventsList"] = array_merge($results1,$results2);
【问题讨论】:
-
为什么不在一个查询中写下这 4 个日期条件?
-
我不确定语法,因为我对 codeigniter 很陌生,你能告诉我如何取悦吗?
标签: php mysql database codeigniter-3