SQL Abfrage - BETWEEN

Zum 1. Problem:
Ich würde jetzt glatt behaupten dass das %-Zeichen nun nach rechts gehört.

Zum 2. Problem:
date() erwartet mehr als nur den Timestamp. ;)
Ich würde aber mittels mktime() zwei Timestamps generieren.
Ein mal für 0:00:00 heute und einmal für 24:00:00 heute.
Mit diesen beiden Timestamps kannst Du wieder mit BETWEEN (und bei Bedarf mit SUM() ) arbeiten.
 
Ok... am Prozentzeichen lags! Danke. Bei dem Counter bekomm ich immer 0...

PHP:
$time1 = time();
$gestern = date("m, d, Y",$time1);
$gestern00=mktime( 0, 0, 0, $gestern );

$time2= (time() + 86400);
$morgen = date("m, d, Y",$time2);
$morgen00=mktime( 0, 0, 0, $morgen );

$counter_sql = mysql_num_rows(safe_query("SELECT timestamp FROM ".PREFIX."user_banlist_counter WHERE timestamp BETWEEN '$gestern00' AND '$morgen00'"));

echo $counter_sql;

Was ist da nun wieder falsch?

Ne andere Idee die ich hatte war folgende:

PHP:
 $counter = mysql_num_rows(safe_query("SELECT timestamp FROM ".PREFIX."user_banlist_counter WHERE DAYOFMONTH(timestamp)=DAYOFMONTH(NOW()) AND MONTH(timestamp)=MONTH(NOW()) AND YEAR(timestamp)=YEAR(NOW())"));

echo 'Hits:<br>';
echo $counter;

t aber auch nicht - Denke das liegt am Datumsformat, weil es eben nicht mehr als 0000-00-00 sondern als timestamp gespeichert ist.

LG Chris
 
Zuletzt bearbeitet:
Hat sich erledigt^^ Hab es nun so gemacht:

PHP:
$gestern = date("m, d, Y",time());
$gestern00=mktime( 0, 0, 0, $gestern );

$morgen = date("m, d, Y",time());
$morgen01=mktime( 0, 0, 0, $morgen );
$morgen00= ($morgen01 + 86400);

$counter_heute = mysql_num_rows(safe_query("SELECT timestamp FROM ".PREFIX."user_banlist_counter WHERE timestamp BETWEEN '$gestern00' AND '$morgen00'"));

Werd es um 00:00 Uhr sehen ob es tatsächlich funktioniert^^
 
Zurück