如何仅显示近期和当前日期差异的最近记录日期
我只想显示过去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
}
?>
首先,你需要订购日期的数据类型更改为日期。 您可以通过以下语法做到这一点:
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.....
}
?>
这些链接可能会有所帮助
在我更改日期类型后,所有存储的日期都转换为0000-00-00 :( –
您以哪种格式存储日期早期 – iNullPointer
@Sally Bulbul日期格式为YYYY-MM -DD – iNullPointer
或者,您可以13天前找到为止,然后查询所有谁该日期后 – Fallen
没有订购那么如何能成为客户excuted? –
客户可能会订购很多次,但是如果他的最后订单在14天或更长时间之前我需要显示客户 –