leden tellen
hoi allemaal,
ik heb nu dus een dat mensen inloggen en dat ze dan online zijn.
maar hoe zorg ik ervoor ik kan tellen dat bijvoorbeeld ervandaag 3 online waren meeste leden.
en morgen zijn er 5 online ingelogd.
daarvan ik als weergeven meeste aantal ingelogd tegelijketijd 5 dan.
maar hoe maak je zo iets?
mischien kan iemand mij een tip geven
Sander
ik heb nu dus een dat mensen inloggen en dat ze dan online zijn.
maar hoe zorg ik ervoor ik kan tellen dat bijvoorbeeld ervandaag 3 online waren meeste leden.
en morgen zijn er 5 online ingelogd.
daarvan ik als weergeven meeste aantal ingelogd tegelijketijd 5 dan.
maar hoe maak je zo iets?
mischien kan iemand mij een tip geven
Sander
Een tabel aanmaken ("stats" bijvoorbeeld) waarin bij het inloggen word gezet dat je hebt ingelogd. Daarna mysql_num_rows op los laten, en de uitkomt echo'en.
Edit:
ABN please ??
Edit:
ABN please ??
Gewijzigd op 11/06/2010 19:25:30 door Sander de Vos
Wijzig je post eens naar algemeen beschaaft nederlands, misschien dat van je vraag dan iets gebakken kan worden.
Zie
- aggregate functions
- date and time functions
van je database
Er zijn vast ook nog wel topics welke jouw onderwerp behandelen...
Zie
- aggregate functions
- date and time functions
van je database
Er zijn vast ook nog wel topics welke jouw onderwerp behandelen...
En formuleer je vragen a.u.b. iets beter, ik moest het 3x lezen voordat ik het een beetje snapte.
sorry hoor, ik wist ook niet hoe ik het moest uitleggen :P
ben geen super-computer ofzo...
en ik heb al gezocht maar kon nergens een topic vinden...
ben geen super-computer ofzo...
en ik heb al gezocht maar kon nergens een topic vinden...
Een vraag: Hoe wil je nu tellen hoeveel leden er in de toekomst zijn ingelogd, dan wel ingelogd zijn geweest op de dag van morgen.
Misschien is dit een leuk artikel: (zonder database gebruik)
http://www.devarticles.com/c/a/PHP/The-Quickest-Way-To-Count-Users-Online-With-PHP/
http://www.devarticles.com/c/a/PHP/The-Quickest-Way-To-Count-Users-Online-With-PHP/
Dat sluit totaal niet aan bij de vraag Arnold, daarnaast is het een bad practice script.
Zal dan eerder verwijzen naar:
http://piwik.org/
dat is `vastleggen` van statische gegevens.
Zal dan eerder verwijzen naar:
http://piwik.org/
dat is `vastleggen` van statische gegevens.
Ik zelf gebruik deze.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
// Database login hidden.
$s_aantal = mysql_query("Select Count(id) From online Where ip = '".$_SERVER['REMOTE_ADDR']."'") or die(mysql_error());
if (!mysql_result($s_aantal, 0))
mysql_query("Insert Into online (id, ip, tijd) Values ('NULL', '".$_SERVER['REMOTE_ADDR']."', '".time()."')") or die(mysql_error());
else
{
mysql_query("Update online Set tijd = '".time()."' Where ip = '".$_SERVER['REMOTE_ADDR']."'") or die(mysql_error());
mysql_query("Delete From online Where tijd < ".time()." - 60*5") or die(mysql_error());
}
$s_aantal = mysql_query("Select Count(id) From online");
$aantal = mysql_result($s_aantal, 0);
if ($aantal > 1 || $aantal == 0)
echo "Er zijn <b>".$aantal."</b> bezoekers actief op deze site!";
else
echo "Er is <b>1</b> bezoeker actief op deze site!";
?>
// Database login hidden.
$s_aantal = mysql_query("Select Count(id) From online Where ip = '".$_SERVER['REMOTE_ADDR']."'") or die(mysql_error());
if (!mysql_result($s_aantal, 0))
mysql_query("Insert Into online (id, ip, tijd) Values ('NULL', '".$_SERVER['REMOTE_ADDR']."', '".time()."')") or die(mysql_error());
else
{
mysql_query("Update online Set tijd = '".time()."' Where ip = '".$_SERVER['REMOTE_ADDR']."'") or die(mysql_error());
mysql_query("Delete From online Where tijd < ".time()." - 60*5") or die(mysql_error());
}
$s_aantal = mysql_query("Select Count(id) From online");
$aantal = mysql_result($s_aantal, 0);
if ($aantal > 1 || $aantal == 0)
echo "Er zijn <b>".$aantal."</b> bezoekers actief op deze site!";
else
echo "Er is <b>1</b> bezoeker actief op deze site!";
?>
Robin's scriptje is te belachelijk voor woorden:
Ten eerste ga je niet met een select kijken of een record al bestaat om te bepalen of je moet inserten of moet updaten.
De insert is ook nog eens fout. Indien id een auto_increment / sequence is dan neem je die uiteraard niet op in je insert query.
En om dan aan het id een string 'NULL' door te geven is helemaal van de zotte.
En uitaard gebruik je ook geen timestamp maar gebruik je SQL's NOW() (type DATETIME)
Voor de rest zegt een IP-adres totaal niets over het aantal unieke personen / bezoekers.
En waarom je nu data gaat verwijderen is mij en raadsel
Overige opmerking:
or die() is kerkhof stategie, pas fatsoenlijke foutafhandeling toe
er bestaat ook nog zoiets als SQL aliasen dan kan je eenvoudigerwijs een zinvolle naam geven aan een SUM/COUNT/AVG/MIN/MAX
SELECT COUNT(id) aantal
FROM online
Ten eerste ga je niet met een select kijken of een record al bestaat om te bepalen of je moet inserten of moet updaten.
De insert is ook nog eens fout. Indien id een auto_increment / sequence is dan neem je die uiteraard niet op in je insert query.
En om dan aan het id een string 'NULL' door te geven is helemaal van de zotte.
En uitaard gebruik je ook geen timestamp maar gebruik je SQL's NOW() (type DATETIME)
Voor de rest zegt een IP-adres totaal niets over het aantal unieke personen / bezoekers.
En waarom je nu data gaat verwijderen is mij en raadsel
Overige opmerking:
or die() is kerkhof stategie, pas fatsoenlijke foutafhandeling toe
er bestaat ook nog zoiets als SQL aliasen dan kan je eenvoudigerwijs een zinvolle naam geven aan een SUM/COUNT/AVG/MIN/MAX
SELECT COUNT(id) aantal
FROM online




