如何仅显示最近和当前=日期数之间的差异的最近记录日期

时间:2017-02-18 10:37:44

标签: php mysqli

我只想显示过去14天内没有订购的客户的记录。 因此,我需要从当前日期中减去最后一个订单日期,并仅显示自14天或更长时间以来没有订购的用户。 请注意,在数据库中排序的日期格式如下:01-25-2017 这是我的代码:

<?php
$q_customer = $conn->query("SELECT  * FROM customer_order INNER JOIN customer on customer_order.phone= customer.phone GROUP BY customer_order.phone" ) or die(mysqli_error());
while($f_customer = $q_customer->fetch_array()){
?>
<tr>
    <td><?php echo $f_customer['phone']?></td>
    <td><?php echo $f_customer['first_name']?></td>
    <td><?php echo $f_customer['last_name']?></td>
    <td><?php echo $f_customer['order_date']?></td>

</tr>

<?php
}
?>

1 个答案:

答案 0 :(得分:0)

首先,您需要将orderdate的数据类型更改为Date。 您可以通过以下语法执行此操作:

ALTER TABLE tablename
MODIFY COLUMN orderdate DATE NOT NULL;

然后您需要创建14天的间隔并从当前日期减去它。 这里给出的代码。

<?php
    $date = new DateTime(Date('Y-m-d')); // storeing current date in a variable.
    $interval = new DateInterval('P14DS');
    $date-&gt;sub($interval);
    // now extract date from database and compare this like
    if($date-&gt;format('Y-m-d') &lt;= $f_customer['order_date']){
           // do stuff.....
     }
 ?>

这些链接可能会有所帮助

http://php.net/manual/en/class.datetime.php