2017-02-18 3 views
-1

Ich möchte nur Datensätze von Kunden anzeigen, die in den letzten 14 Tagen nicht bestellt haben. Also muss ich das letzte Bestelldatum vom aktuellen Datum subtrahieren und nur die Benutzer anzeigen, die seit 14 Tagen oder mehr nicht bestellt haben. Beachten Sie, dass das Datumsformat auf Datenbank wie folgt sortiert: 2017.01.25 hier ist mein Code:Wie wird nur das Datum der letzten Aufzeichnung angezeigt, wo die Differenz zwischen den letzten und aktuellen = Zahlen des Datums

<?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

hilfreich sein, oder Sie können das Datum 14 Tage vor und dann Abfrage für alle Kunden, die nach diesem Zeitpunkt – Fallen

+0

das sein kann, so wie bestellt haben nicht gefunden verfolgt? –

+0

Kunde kann viele Male bestellen, aber ich muss Kunde anzeigen, wenn seine letzte Bestellung vor 14 Tagen oder mehr war –

Antwort

0

Zunächst einmal müssen Sie den Datentyp zu bestelldatum Datum ändern. Sie können dies durch die folgende Syntax tun:

ALTER TABLE tablename 
MODIFY COLUMN orderdate DATE NOT NULL; 

Dann brauchen Sie ein Intervall von 14 Tagen erstellen und dem aktuellen Datum subtrahieren. Code dafür hier angegeben.

&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; 

können diese Links

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

+0

nachdem ich den datumstyp geändert habe, sind alle gespeicherten daten in das jahr 2016n konvertiert :( –

+0

In welchem ​​format hast du das datum früher gespeichert. – iNullPointer

+0

@Sally Bulbul Format des Datums ist JJJJ-MM -DD ​​ – iNullPointer

Verwandte Themen