如何从今天的日期获取以前的日期,并使用PHP检查每个以前的日期的条件

时间:2015-07-09 07:12:29

标签: php mysql date

在这里,我想清楚地解释我的问题, 我有一个名为claims的表,其中有一个名为TRT的字段(转换时间)。 在此字段中,用户设置日期(例如:2015-07-09), 每次管理员用来检查是否有可用的挂起时,例如:如果今天的日期和TRT日期相同,则待处理数据会自动移动到另一个表。

所以我做的是,

$today = date('Y-m-d');
$dt1 = ArrayHelper::map(Importclaims::find()->all(),'id','turn_around_time_set');

foreach ($dt1 as $key => $value) 
        {
            $trt = print_r($value, true);

            if($today == $trt)
            {
                $sql = "INSERT INTO importpending (claimer_name, status, template, last_trt, email) 
                        SELECT employee_name, status_new, template, turn_around_time_set, tpa  
                        FROM importclaims WHERE id = $name1 ";

                $query = Yii::$app->db->createCommand($sql)->execute();

                echo '<div class="alert alert-success"> Pendings Availble </div>';

            }
            else
            {
                echo '<div class="alert alert-success"> No Pendings Availble </div>';
            }
            // return $this->redirect(['index']);


        }

但是这只执行那些等于今天日期的TRT,但我需要检查每个TRT日期,这个日期小于今天的日期。

简单地说,插入数据的TRT日期少于等于今天的日期

3 个答案:

答案 0 :(得分:1)

最后我找到了答案,

$today = strtotime(date('Y-m-d'));
$dt1 = ArrayHelper::map(Importclaims::find()->all(),'id','turn_around_time_set');
 foreach ($dt1 as $key => $value) 
        {
            $trt = print_r($value, true);
            $new = strtotime($trt);
if($new <= $today)
            {
                $sql = "INSERT INTO importpending (claimer_name, status, template, last_trt, email) 
                        SELECT employee_name, status_new, template, turn_around_time_set, tpa  
                        FROM importclaims WHERE id = $name1 ";

                $query = Yii::$app->db->createCommand($sql)->execute();

                echo '<div class="alert alert-success"> Pendings Availble </div>';

            }

答案 1 :(得分:0)

您不应该在插入查询中使用where子句 - 但是 如果必须,你必须像这样编写你的查询:

请注意,您必须更改日期格式才能使其正常运行。 有关mysql中日期格式的更多信息,您可以找到here

答案 2 :(得分:0)

您可以在单个SQL查询中执行此操作,请参阅下面的示例:

INSERT INTO importpending (`claimer_name`, `status`, `template`, `last_trt`, `email`) 
SELECT  
    `employee_name`, `status_new`, `template`, `turn_around_time_set`, `tpa`  
FROM importclaims 
WHERE turn_around_time <= NOW()