2017-02-18 114 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

相關問題