php - 当验证条件存储在 SQL 数据库中时如何验证用户的日期输入

标签 php sql validation date range

我有下一张 table :

| ID | Date-Start |Date-End|
| 01 | 2014-04-10 |2014-04-12|
| 02 | 2014-04-13 |2014-04-15|
| 03 | 2014-04-16 |2014-04-18|
| 04 | 2014-04-19 |2014-04-22|

用户选择 2 个日期,我需要验证这 2 个日期是否与表中的日期交叉。 例如用户输入 2014-04-20 到 2014-04-21,这是无效的,因为在记录 04 中这个范围从 2014-04-19 到 2014-04-22 被占用。泰寻求帮助。请原谅我糟糕的英语。

最佳答案

SELECT ID FROM table WHERE ((Date-Start >= '$first-date' AND Date-Start <= '$second-date')
 OR (Date-End >= '$first-date' AND Date-End <= '$second-date'))

如果它返回一个结果那么给定的周期应该是无效的

关于php - 当验证条件存储在 SQL 数据库中时如何验证用户的日期输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22916242/

相关文章:

php - 是否可以强制 PHP 样式表导入忽略字符串?

PHP:如何使用类函数?

sql - 在 PostgreSQL 中以两种方式对数据集进行分组

java - 比较两个表中的值并将从第一个表中获取的值插入到第二个表中

php - 需要帮助理解 Doctrine 多对多自引用代码

mysql - 如何在 SQL 条件下将 INT 转换为 VARCHAR

javascript - jQuery 验证普通按钮上的表单(不提交)

python - PyTorch:为什么在训练时期循环内部或外部调用它后验证准确性会发生变化?

javascript - 使用 jQuery 检查 4 个数字和 2 个字母的输入

php - 将 Composer 添加到 Codeigniter 中