Versuchen Sie, ein System zu erstellen, um den Benutzer zu überprüfen, wie die letzten 14, 60 oder 120 Tage nicht eingeloggt sind. Ich möchte eine E-Mail senden, wenn der Benutzer 14 Tage lang nicht angemeldet ist, aber nicht gleichzeitig 60 und 120 Tage lang eine E-Mail an diesen Benutzer sendet.Mysql: Überprüfen Sie, ob Benutzer nicht zuletzt 14, 60 oder 120 Tage angemeldet waren
Tabelle: user_counts die user_count zu Tag haben über 80 000 Zeile darin.
Spalte: Es ist in Mysql Datetime
// Number of days a user have not been login
$dateCheck = array('14', '60', '120');
foreach ($dateCheck as $day) {
$userList = $wpdb->get_results('
SELECT id, user_id
FROM user_counts
WHERE DATE(time) = "'.date("Y-m-d", strtotime("-".$day." day")).'"
AND time != (
SELECT MAX(time) FROM user_counts
WHERE time < DATE_SUB(NOW(), INTERVAL '.$day.' DAY)
)
GROUP BY user_id
');
}
Ergebnis ich das gleiche user_id in allen 14,60 und 120 Tagen.
ist Zeitfeld Zeitstempel? – Naincy
Was gibt diese Abfrage jetzt zurück? – Akintunde007
Aktualisiert nach Ihrem Feedback – user2673664