Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从今天的日期获取以前的日期,并使用PHP检查以前每个日期的条件_Php_Mysql_Date - Fatal编程技术网

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

如何从今天的日期获取以前的日期,并使用PHP检查以前每个日期的条件,php,mysql,date,Php,Mysql,Date,在这里,我想把我的问题解释清楚, 我有一个名为claims的表,其中有一个字段叫做TRTturn。 在此字段中,用户设置日期示例:2015-07-09, 每次管理员检查挂起是否可用时,例如:如果今天的日期和TRT日期相同,则挂起的数据自动移动到另一个表 所以我所做的是 $today = date('Y-m-d'); $dt1 = ArrayHelper::map(Importclaims::find()->all(),'id','turn_around_time_set'); forea

在这里,我想把我的问题解释清楚, 我有一个名为claims的表,其中有一个字段叫做TRTturn。 在此字段中,用户设置日期示例: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日期小于等于今天日期的数据,您不应该在Insert查询中使用where子句,而是 如果必须这样做,您必须这样编写查询:

"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 AND TRT < '".$today."')";
请注意,您必须更改您的日期格式,以使这项工作。
有关mysql中日期格式的更多信息,您可以在单个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()

最后我找到了答案

$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>';

            }

你能给我一个想法吗?你的代码中没有使用表声明或列TRT?你可以看到周转时间和导入我需要的TRT条件