Zählen mit Count geht nicht

QUEST08

Erfahrenes Mitglied
Guten Morgen,

leider habe ich ein kleines Problem. Ich möchte aus einer tabelle auslesen an welchem tag die meisten besucher da waren.

PHP:
$abfrage = mysql_query("SELECT datum as count FROM t_logfile WHERE counter_id = $counter AND neuerbe = 'TRUE' AND datum_m = '".date("m")."' AND datum_Y = '".date("Y")."' GROUP BY datum ORDER BY datum LIMIT 0,1")
   or die(mysql_error());
while ($row = mysql_fetch_array($abfrage))
{
$bestertag = $row['count'];
   echo $bestertag;

leider gibt er mir hier nur irgendein datum aus, in diesem fall das kleinste, also 18.07. da die 18 die kleinste zahl ist... hat jemand eine idee wie ich das machen kann?

wichtig hierbei ist, dass die spalte datum als d.m.Y gespeichert ist, also in deutschem format.

liebe grüße
 
jetzt wird mir das höchste datum ausgegeben, also 25.07. da 25 die höchste zahl ist.
 
Zuletzt bearbeitet:
hallo nochmal,

also wenn ich den code folgendermaßen habe:

PHP:
   $abfrage = mysql_query("SELECT COUNT(datum) AS count FROM t_logfile WHERE counter_id = $counter AND neuerbe = 'TRUE' AND datum_m = '".date("m")."' AND datum_Y = '".date("Y")."' GROUP BY datum ORDER BY count DESC LIMIT 0,1")
   or die(mysql_error());
while ($row = mysql_fetch_array($abfrage))
{
$bestertag = $row['count'];
   echo $bestertag;

gibt er mir den richtigen eintrag aus, jedoch die anzahl und nicht das datum, wenn ich

PHP:
   $abfrage = mysql_query("SELECT COUNT(datum) AS count FROM t_logfile WHERE counter_id = $counter AND neuerbe = 'TRUE' AND datum_m = '".date("m")."' AND datum_Y = '".date("Y")."' GROUP BY datum ORDER BY count DESC LIMIT 0,1")
   or die(mysql_error());
while ($row = mysql_fetch_array($abfrage))
{
$bestertag = $row['datum'];
   echo $bestertag;

teste, findet er die spalte datum nicht. weiß jemand weiter?
 
und schon ist das problem gelöst:

PHP:
$abfrage = mysql_query("SELECT *,COUNT(datum) AS count FROM t_logfile WHERE counter_id = $counter AND neuerbe = 'TRUE' AND datum_m = '".date("m")."' AND datum_Y = '".date("Y")."' GROUP BY datum ORDER BY count DESC LIMIT 0,1")
   or die(mysql_error());
while ($row = mysql_fetch_array($abfrage))
{
$bestertag = $row['datum'];
   echo $bestertag;

SELECT *, COUNT(datum) anstatt SELECT COUNT(datum) war das Problem.

Danke dennoch.
 
Naja was du im Selecet nicht angibst gibt er auch net aus mit * gibst alle Spalten aus was oft net notwendig ist es sei den du willst wirklich alle Spalten ausgeben.

SELECT datum, COUNT(datum) hätte da auch ausgereicht.

Mfg Splasch
 
Zurück