我有一个表,其中包含以下字段:staff_id
、leave_applied_from
、leave_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 端显示错误,但我不知道如何检查数据库中是否存在日期,我不知道如何检查单个 MySQL 查询中的两个字段。
查询应首先检查staff_id,然后检查其他字段(applied_from、apply_to)。如果工作人员已经输入了相同的日期范围,则应该给出错误。
最佳答案
请尝试以下操作:
SELECT * from tbl where (applied_from =< @inputdate AND applied_to >= @inputdate)
AND staff_id=@inputid
如果查询返回记录,则说明date中的key在范围内,可能会提示错误。
关于php - 使用 PHP 和 MySQL 验证之间的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11184067/