如果包含日期已经完成打印 - php

时间:2015-01-19 01:44:36

标签: php

我正在办理员工休假制度,如果员工的包容性休假日期结束,我想输出。这是我的代码:

$count =0;
                $sql = "SELECT * FROM application WHERE inclusive_dates='??'";
                $result=mysql_query($sql);
                while($row=mysql_fetch_array($result)){
                $count +=1;
                $mi =$row['id_no'];
                $mo=$row['fullname'];
                $mu =$row['type_of_leave'];
                $me =$row['inclusive_dates'];

我的sql条件是什么,让我知道我的数据库中保存的日期已过。例如,保存的日期是1月18日到1月22日,当前日期是1月19日。它将打印出那个日期尚未过去的人的姓名。对不起我的英文

1 个答案:

答案 0 :(得分:0)

首先,从您的示例中不清楚inclusive_dates包含的内容。它是一个包含开始日期和结束日期的字符串吗?如果您单独存储开始日期和结束日期,它可能会更好。

假设数据库列使用unix时间戳,最简单的方法是检查time()(当前unix时间戳)是否大于休假开始日期且小于休假结束日期。只要您将开始日期保存为午夜00:00:01之后,结束日期就在午夜之前(例如23:59:59),那么您就不应该问题。

编辑:

$currentTime = time();
$sql = 'SELECT * FROM table
        WHERE leave_start_time > $currentTime
        AND leave_end_time < $currentTime';