Meisten User an welchem Tag

fanste

Erfahrenes Mitglied
Hallo.
Hab da mal ne kleine Frage, die bestimmt nicht so leicht zu lösen ist.
Ich speichere bei mir auf der Seite in eine MYSQL-DB ab, wenn jemand auf meine Seite geht. Das sieht dann so aus: ID | USER_IP | DATUM
Nun möchte ich daraus auslesen, wann am meisten Besucher online waren. Nach dem Schema: Am DATUM waren SOVIELE Besucher auf dieser Seite.
Wie kann ich dass machen, also ich meine die Abfrage, das ich nachher weiß, an welchem Tag am Meisten online waren!

Danke im voraus!

mb fanste
 
Versuchs mal so:
PHP:
$res = mysql_query('SELECT * FROM `tabelle` WHERE `datum` = "'.$date.'")';
$besucher = mysql_fetch_array($res);
$anzahl = count($besucher);

In diesem fall gehe ich mal davon aus, dass du schon beim Eintragen in die DB prüfts, ob die jeweilige IP an diesem tag berreits vorbeigeschaut hat ;)
 
Eistee hat gesagt.:
PHP:
$res = mysql_query('SELECT * FROM `tabelle` WHERE `datum` = "'.$date.'")';
$besucher = mysql_fetch_array($res);
$anzahl = count($besucher);
Das ist aber eine dürftige "Antwort".

Ich denke es ist zuerst einmal wichtig zu wissen, in welchem Format du das Datum speicherst.
 
Ich wolte ihm auch lediglich mal das Prinzip erklären, nach welchem sich dieses Problem lösen ließe.
Wenn noch fragen seinerseits offen sind, kann er die ja ruhig stellen :)
 
Eistee hat gesagt.:
Ich wolte ihm auch lediglich mal das Prinzip erklären, nach welchem sich dieses Problem lösen ließe.
Wenn noch fragen seinerseits offen sind, kann er die ja ruhig stellen :)
Dann erklär mir kurz wo in deinem Script die Info herkommt, an welchem Tag nun die
meisten User online waren. Wo also der Inhalt von $date herkommt.
Bin ich jetzt aber mal gespannt ;-]
 
@Eistee
Ja mache ich. Aber ich glaube, du hast mich etwas falsch verstanden. So erhalte ich nur die Besucherzahl, von dem angegeben Datum. Ich weiß aber nicht an welchem Datum am meisten online waren. das will ich ja über eine Abfrage herausfinden.
@_voodoo
Das Datum erstelle ich so:
PHP:
$stamp = time();
$datum = date("d.m.Y",$stamp);

das trage ich dann in eine Spalte ein, die das Attribut Varchar hat.
 
@fanste
Wieso so kompliziert?
PHP:
$datum = date("d.m.Y");
reicht doch auch :D

Und warum VARCHAR? Nimm doch gleich DATE oder DATETIME.
Eintrag in DB mit INSERT (...) datum=NOW();

Dann kannst du auch noch die nützlichen mysql-funktionen verwenden.
 
Das kenn ich. Da wird das Datum aber in englischer Schreibweise in die Datenbank geschrieben! Ich will aber die Deutsche. Darum so kompliziert. Werd deine kürzere Version aber nehmen, ohne des time()

@Jörg Rißmann
kleine Frage: Nickname geändert?
 
fanste hat gesagt.:
Ich will aber die Deutsche.
Mit der kann mysql halt nicht umgehen, dadurch geht ein Haufen Funktionialität vorab verloren.

fanste hat gesagt.:
@Jörg Rißmann
kleine Frage: Nickname geändert?
Jo, so isses persönlicher, schließlich will ich ja helfen.


PHP:
/* deutsch nach us-datum */
function datum_us(&$date)
{
	if (!ereg("([0-9]{1,2})\\.([0-9]{1,2})\\.(([12][09])?[0-9]{2})",$date,$tmp))
		return ($date);   
	$date = $tmp[3].'-'.$tmp[2].'-'.$tmp[1];
return ($date);
}

/* us-datum nach deutsch */
function datum_de(&$date)
{
	if (!ereg("(([12][09])?[0-9]{2})-([0-9]{1,2})-([0-9]{1,2})",$date,$tmp))
		return ($date);  
	$date = $tmp[4].'.'.$tmp[3].'.'.$tmp[1];  
return ($date);
}
 
Den gleichen Effekt hab ich doch auch mit meinem! Warum kann MYSQL damit nicht umgehen. Was geht da verloren (bsps)? Wenn ich es so mache wie du sagts, wie könnte ich dann mein eigentliches Problem lösen?
 
Zurück