Chcę wysłać zapytanie do bazy danych dla rekordów, których data jest równa lub większa niż 90 dni. To, co mam tak daleko:Mysql Data zapytania> = 90 dni
$format = 'Y-m-j G:i:s';
$date = date ($format);
// -90 days from today
date ($format, strtotime ('-90 day' . $date));
Jestem tylko trochę niepewni teraz jak struktura zapytania MySQL. Byłoby coś tak (wiem, że to źle, ale jestem pewien, co jeszcze do zrobienia):
"SELECT * FROM recurringPayments WHERE lastpmt >= date ($format, strtotime ('-90 day' . $date)) ";
+1 za wykonanie z SQL –
Zgadzam się z tym w SQL. Mimo, że jest to minimalne obciążenie podczas tworzenia nowego var w PHP i wywoływania funkcji, to wciąż jest więcej narzutów niż wykonywanie matematyki daty w zapytaniu. –
Jeśli potrzebujesz danych wyjściowych jako znacznika czasu lub chcesz porównać je ze znacznikiem czasu, zawiń matematykę daty w klasie UNIX_TIMESTAMP. W tym przykładzie, jeśli chcesz uzyskać dane wyjściowe timestamp, zapytanie będzie mysql_query ("SELECT * FROM recurringPayments WHERE lastpmt <= UNIX_TIMESTAMP ((TERAZ() - INTERVAL 90 DAY))"); –