phpBB: Anzahl der User die "Heute" Online waren...

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
das_Kratzerchen
Mitglied
Beiträge: 25
Registriert: 25.01.2006 16:41

phpBB: Anzahl der User die "Heute" Online waren...

Beitrag von das_Kratzerchen »

Hi,

ich würde gerne im Index die Anzahl der Benutzer (Gäste + Registrierte + Versteckte) ausgeben die am aktuellen Tag Online waren, nur die Anzahl, nichts weiter, dies habe ich mit meinen spärlichen PHP kenntnissen so probiert, leider steigt die Anzahl und sinkt dann wieder?!

Code: Alles auswählen

$time = time();
$time_midnight = mktime(0,0,0,date('m', $time),date('d', $time),date('Y', $time));

$sql = "SELECT session_logged_in, session_time, session_page, session_ip
	FROM ".SESSIONS_TABLE."
	WHERE session_time > $mitternacht
	ORDER BY session_ip ASC";
if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not obtain user online information', '', __LINE__, __FILE__, $sql);
}
$data_total = $db->sql_numrows($result);
$data_total enthält die Anzahl der User die Online waren. Hat jemand einen Tipp für mich?

Kratzerchen
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Das Problem ist, daß die Sessions ja nur eine begrenzte Gültigkeit haben und dann gelöscht werden (Standardmäßig eine Stunde). Das könnte man natürlich erhöhen, aber wenn du sowieso nur die Anzahl brauchst, wäre es Resourcenschonender, eine Tabelle mit den Feldern Tag+Anzahl anzulegen, welche du dann in session_create() hochzählst. Die Daten der vorigen Tage kannst du dann entweder automatisch löschen oder als Statistik behalten.
KB:knigge
Dennis63
Ehemaliges Teammitglied
Beiträge: 2597
Registriert: 02.07.2003 18:46

Beitrag von Dennis63 »

NUR zu den Registrierten Usern:

Oder Du erweiterst die Usertabelle um eine neue Spalte, in der Du immer das Datum speicherst, wann der User online war.

Wenn das Datum aktuell ist, war der User da. Es entsteht der selbe Statistik-Effekt wie bei Pyramides Idee. Nur man kann später auch sehen, welcher User wann das letze mal da war.

Im Unterschied zu Pyramides Idee, zählt das bei den Registrierten Usern nicht doppelt, wenn der User nach einigen Stunden ein 2. mal kommt, kann aber keine Gäste zählen.

Grüße
Dennis
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Dennis Böge hat geschrieben:Im Unterschied zu Pyramides Idee, zählt das bei den Registrierten Usern nicht doppelt, wenn der User nach einigen Stunden ein 2. mal kommt
Es zählt aber auch nicht mehrfach, wenn der User jeden Tag einmal kommt.
KB:knigge
Antworten

Zurück zu „Coding & Technik“