使用PHP和验证之间的验证日期MySQL的

时间:2012-06-25 05:52:10

标签: php mysql validation date between

我的表格中包含以下字段:staff_idleave_applied_fromleave_applied_to

+----------+--------------+------------+
| staff_id | applied_from | applied_to |
+----------+--------------+------------+
|     1    | 2012-06-21   | 2012-06-21 |
|     2    | 2012-06-21   | 2012-06-23 |
+----------+--------------+------------+

所以要求是,如果staff_id 1尝试输入日期2012-06-21,则不应允许输入日期,如果staff_id 2尝试输入日期2012-06-22它不应该允许工作人员进入。

我知道如何在PHP方面显示错误,但我不知道如何检查数据库是否存在DB中的日期,我不知道如何检查单个MySQL查询中的两个字段。

查询应首先检查staff_id,然后检查其他字段(applied_from,applied_to)。如果工作人员已经输入相同的日期范围,则应该给出错误。

2 个答案:

答案 0 :(得分:1)

请尝试以下方法:

SELECT * from tbl where (applied_from =< @inputdate AND applied_to >= @inputdate) 
AND staff_id=@inputid

如果查询返回记录,则表示日期中的键在范围内,您可以提示错误。

答案 1 :(得分:0)

select case when curdate() < applied_from or curdate() > applied_to
            then 1
            else 0
            end as is_staff_id_ok
from your_table
where staff_id = 1