我有一个包含两个信息的数据库。从今天到今天。我每天都需要这个条目出现在我的日历中,但我只能设法在第一个和最后一个日期出现。
数据库示例:
job_no | date1(from)| date2(to)
________________________________
1 |2013-01-28 | 2013-02-03
2 |2013-01-14 | 2013-01-18
编辑问题。我的搜索栏允许输入一个日期,日历通过 date1 和接下来的 6 天查找条目。
我不能进行包含两个日期输入的搜索,因为我的用户已经习惯了这种方式,我不想增加搜索时间。我开始认为我必须找到日期之间的日期,将其添加到array
然后使用 anif statement
来查找匹配项......但即使这样说对我来说也没有任何意义。
关于工作 1,我需要我的日历在 28/29/30/31/01/02/03 的所有日期显示这份工作。
我当前的搜索SELECT * FROM jobs WHERE date1='$searchinput'
每天和日历此搜索。我使用 strtotime 将输入日期增加 +1 以添加到每天的搜索中。
日历页面。
我想要的结果。用户搜索日期 28 日。
Mon 28 | Tues 29 | Wed 30 ...... | Fri 03 |
_________________________________________________________________________
Job no 1 | job no 1 | job no 1 ...... | job no 1
我现在拥有的。
Mon 28 | Tues 29 | Wed 30 ...... | Fri 03 |
_________________________________________________________________________
Job no 1 | blank | blank | job no 1
现在每天都有一个新的选择查询。它与日期 1 和日期 2 相匹配。我不像以前那样需要这个,我只有一天的工作,现在他们出去超过一天,需要在所有日子里记录工作,它只使用一个从日期和工作至今的工作。
编辑2:
SELECT * FROM calender_db NATURAL JOIN job_db
WHERE section='two'
AND date1 < '$day' AND date2 > '$day'
OR date1 = '$day' OR date2 = '$day'
此查询选择我需要的内容,但是当我使用 OR 时,第一个WHERE
CLAUSE 可以为空。我需要它始终在条款中。我一直在考虑使用IIF
或CASE
纠正但不知道如何实现 100%...?