Voglio interrogare un database per i record in cui la data è uguale o superiore a 90 giorni. Questo è quello che ho finora:Mysql Data query> = 90 giorni
$format = 'Y-m-j G:i:s';
$date = date ($format);
// -90 days from today
date ($format, strtotime ('-90 day' . $date));
Sono solo un po 'incerto ora come strutturare la query MySQL. Sarebbe qualcosa di come questo (so che questo è sbagliato, ma io sono sicuro di cosa altro da fare):
"SELECT * FROM recurringPayments WHERE lastpmt >= date ($format, strtotime ('-90 day' . $date)) ";
+1 per farlo con SQL –
D'accordo con farlo in SQL. Sebbene sia un sovraccarico minimo nella creazione della nuova var in PHP e nel richiamo di una funzione, è ancora più un overhead relativo al calcolo matematico della data all'interno della query. –
Se è necessario l'output come timestamp o è necessario confrontarlo con un timestamp, racchiudere la data matematica all'interno di UNIX_TIMESTAMP. In questo esempio, se si desidera l'output di data/ora, la query sarà mysql_query ("SELECT * FROM recurringPayments WHERE lastpmt <= UNIX_TIMESTAMP ((NOW() - INTERVAL 90 DAY))"); –