it-swarm.com.de

Wie schreibe ich diese SQL-Anweisung für Posts, die in den letzten 24 Stunden geschrieben wurden?

Jemand hat mir diesen SQL-Code gegeben, um die Anzahl der Posts (von post_type 'mixtapes') in den letzten 7 Tagen zu zählen. Ich habe versucht, es auch in "in den letzten 24 Stunden" umzuwandeln, aber es gibt die falsche Nummer an.

Hier ist sein Code, der 7 Tage lang funktioniert:

$querystr = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'mixtapes' AND post_date >= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY) LIMIT 0, 30");
if (0 < $querystr) $querystr = number_format($querystr);

Hier ist mein Code für 1 Tag, der eine falsche Antwort gibt

$querystr = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'mixtapes' AND post_date >= DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY) LIMIT 0, 30");
if (0 < $querystr) $querystr = number_format($querystr);
2
Tallboy

Persönlich würde ich das Datum in PHP mit der Klasse PHP Date erzeugen und dann $ date-> sub () . Mit ein paar weiteren Codezeilen lautet die Abfrage:

... WHERE post_date >= ".$date." ...
0
Joshua