uren online tellen
Pagina: « vorige 1 2 3 volgende »
Tommy schreef op 13.01.2008 23:17:
En als je er php bij zet? Daar al aan gedacht?
Nee, dat was natuurlijk totaaaal niet in mij opgekomen!
Had je het zelf al eens geprobeerd? Als je ze vindt, post dan meteen de links even in dit topic, draag je ook nog wat nuttigs bij...
Maar wil je met die laatse zin zeggen dat ik hier niets nuttigs bij draag?
En jij bent volgens mij de persoon die helemaar offtopic gaat door te zeggen wat ik allemaal fout doe. Ik probeer juist te zeggen dat je dat ook met google kunt vinden.
Ik ga inderdaad even net zo offtopic als jij. Ik kan het gewoon niet laten er eens iets van te zeggen.
En ik ben volgens mij de persoon die jou probeert bij te brengen dat je uitspraken als 'vind je ook wel op Google' moet bijstaan met een argument dat dat ook zo echt is: zoekresultaten. Open maar eens een 2e pagina (je kan er toch 4 openen met je mobile safari) en zoek zelf eens. Ik heb niet veel kunnen vinden. Zeker niet iets waarin verschillende oplossingen worden aangedragen met bijbehorende argumenten zoals in dit topic.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
Wel ongeveer, maar ik sla het zo op bijvoorbeeld (uitgaande van 1 user die eerst 25 minuten online is geweest, toen een kwartier niet en toen nog eens 15 minuten)
userid - begintijd - eindtijd
2 - 2008-01-03 10:00:00 - 2008-01-03 10:25:00
2 - 2008-01-03 10:40:00 - 2008-01-03 10:55:00
Op zo'n manier verwerk ik ze meestal, maar ik moet wel zeggen dat het ook gebruikt wordt om bij statistieken te zien op welk moment van de dag de meeste users online zijn..
Robert: ik suggereerde die optie, omdat users vaak niet zelf uitloggen. Dan verloopt die sessie op een gegevenmoment, of je moet een soort van cron-job draaien om bepaalde mensen 'uit te loggen'. Vandaar mijn suggestie. Die 5 minuten threshold is overigens zeer eenvoudig naar 10 minuten, of 30 minuten zelfs te verplaatsen. Maar het is wel de eenvoudigste manier om de tijd die ze op de pagina spenderen accuraat bij te houden.
Jelmer schreef op 13.01.2008 23:30:
Ghehehe,
Ik ga inderdaad even net zo offtopic als jij. Ik kan het gewoon niet laten er eens iets van te zeggen.
En ik ben volgens mij de persoon die jou probeert bij te brengen dat je uitspraken als 'vind je ook wel op Google' moet bijstaan met een argument dat dat ook zo echt is: zoekresultaten. Open maar eens een 2e pagina (je kan er toch 4 openen met je mobile safari) en zoek zelf eens. Ik heb niet veel kunnen vinden. Zeker niet iets waarin verschillende oplossingen worden aangedragen met bijbehorende argumenten zoals in dit topic.
Ik ga inderdaad even net zo offtopic als jij. Ik kan het gewoon niet laten er eens iets van te zeggen.
En ik ben volgens mij de persoon die jou probeert bij te brengen dat je uitspraken als 'vind je ook wel op Google' moet bijstaan met een argument dat dat ook zo echt is: zoekresultaten. Open maar eens een 2e pagina (je kan er toch 4 openen met je mobile safari) en zoek zelf eens. Ik heb niet veel kunnen vinden. Zeker niet iets waarin verschillende oplossingen worden aangedragen met bijbehorende argumenten zoals in dit topic.
Ik kan er 8 openen, maar ik heb nou pww, dadelijk 2pw's :( Maar iedereen kan toch googlen? Dat is geen argument xD want zo moeilijk is het niet jelmer, ik kan ook gewoon de zoekwoorden aan passen. En mss maak ik donderdag wel een klein scriptje hier voor omdat dan pww afgelopen is.
Arend schreef op 14.01.2008 02:05:
Robert: ik suggereerde die optie, omdat users vaak niet zelf uitloggen. Dan verloopt die sessie op een gegevenmoment, of je moet een soort van cron-job draaien om bepaalde mensen 'uit te loggen'. Vandaar mijn suggestie. Die 5 minuten threshold is overigens zeer eenvoudig naar 10 minuten, of 30 minuten zelfs te verplaatsen. Maar het is wel de eenvoudigste manier om de tijd die ze op de pagina spenderen accuraat bij te houden.
@Arend
Dit hou ik zelf ook wel bij hoor, na 5 minuten word je uitgelogd, of in ieder geval begint een nieuwe sessie in je database. Dus eigenlijk doe ik bijna hetzelfde. Je kan ervoor kiezen om wel of niet 5 minuten te rekenen na de laatste klik. Ik doe het zelf vaak niet, omdat mijn ervaring met internetgebruikers leert dat op het moment dat ze voor de laatste keer een link volgen op de website, dat 8 van de 10 (ongeveer) daarna heel snel van een website af is..
dit is euhm.. phpHULP niet phpNeeJijBentGoedWouJeZeggen.
kap dit nu maar af.. (ook beter voor je bloed druk ;))
en verder.. euh
ik zou gewoon een scriptje maken die jou db iedere keer update als de pagina geladen wordt.. is het makelijkste... toch?
maar waar je dat voor zou doen zou ik niet weten?
is misshien wel leuk om te zien wie er het langst online is geweest ofzo maar je moet ook niet vergeten dat hij dan iedere keer de db moet updaten.. weet zo niet wat dat doet met een db en/of je data transfer.. maar lijk me nie echt goed..
Ik snap dus nogsteeds niet waarom je al die onnodige requests zou sturen naar je db.
Voor je data transfer maakt het helemaal niets uit, je gebruikt dingen dit toch al meegezonden worden.
Het makkelijkste is niet altijd de handigste/ beste optie. Zoals ik al zei maak ik gebruik van een statistieken script die ook bepaald op welk tijdstip de meeste mensen online zijn. (let wel, de meeste users zijn ingelogd)
Juist door met zo'n systeem te gaan werken, hou je je systeem uitbreidbaar (stel dat hij ook ooit iets met de statistieken wil doen, wat niet ongebruikelijk is bij forums) dan heb je de data al op de juiste manier opgeslagen.
Dat zijn voor mij in ieder geval altijd redenen om te zorgen dat je scripts altijd "future proof" zijn, voor zover je vooruit kan kijken dan.
Zo sla ik de gegevens nu ook op:), maar ik wil in het profiel van een lid laten weer geven hoe lang hij/zij online op de website is geweest. Hoe kan ik dit berekenen?
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
SELECT
userid,
SUM(TIMEDIFF(eindtijd, begintijd)) AS totaal
FROM
online
GROUP BY
userid
userid,
SUM(TIMEDIFF(eindtijd, begintijd)) AS totaal
FROM
online
GROUP BY
userid
Je zult per gebruiker nu een resultaat terug krijgen in het formaat hh:mm:ss. Als je het voor 1 enkele gebruiker wilt, kun je natuurlijk een WHERE clausule toevoegen voor de GROUP BY.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
$select = "SELECT profiel,SUM(TIMEDIFF(end_time, start_time)) AS totaal FROM uren_online GROUP BY profiel";
$query = mysql_query($select)or die (mysql_error());
$row = mysql_fetch_assoc($query);
$totaal = $row['totaal'];
echo $totaal;
?>
$select = "SELECT profiel,SUM(TIMEDIFF(end_time, start_time)) AS totaal FROM uren_online GROUP BY profiel";
$query = mysql_query($select)or die (mysql_error());
$row = mysql_fetch_assoc($query);
$totaal = $row['totaal'];
echo $totaal;
?>
Gewijzigd op 01/01/1970 01:00:00 door Robin Albers
Bump weet niemand het?
De tijden staan wel goed in je database?
En als je die query gewoon eens in phpMyAdmin uitvoert?
Zou je misschien kunnen uitleggen hoe ik dat doe?
Via de SQL tab in phpMyAdmin...