我只想显示过去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
}
?>
答案 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->sub($interval);
// now extract date from database and compare this like
if($date->format('Y-m-d') <= $f_customer['order_date']){
// do stuff.....
}
?>
这些链接可能会有所帮助