2017-02-18 83 views
-1

我只想显示过去14天内未订购的客户的记录。 因此,我需要从当前日期中扣除最后一个订单日期,并仅显示那些自14天或更长时间以来未订购的用户。 注意,日期格式分类数据库是这样的:2017年1月25日 这里是我的代码:如何仅显示近期和当前日期差异的最近记录日期

所有的
<?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 
} 
?> 
+0

或者,您可以13天前找到为止,然后查询所有谁该日期后 – Fallen

+0

没有订购那么如何能成为客户excuted? –

+0

客户可能会订购很多次,但是如果他的最后订单在14天或更长时间之前我需要显示客户 –

回答

0

首先,你需要订购日期的数据类型更改为日期。 您可以通过以下语法做到这一点:

ALTER TABLE tablename 
MODIFY COLUMN orderdate DATE NOT NULL; 

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

&lt;?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..... 
    } 
?&gt; 

这些链接可能会有所帮助

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

+0

在我更改日期类型后,所有存储的日期都转换为0000-00-00 :( –

+0

您以哪种格式存储日期早期 – iNullPointer

+0

@Sally Bulbul日期格式为YYYY-MM -DD – iNullPointer

相关问题