Forum » Server-Side scripting » Online Leden.
Berichten: 780
avatar
Online Stuur privebericht
Hallo iedereen,

ik wil dus (zoals de titel al verraad) de leden die binnen het uur online zijn geweest weergeven.

Ik heb een idee hoe maar de query lukt me niet.

Ik had gedacht aan dit;
database tabel bij leden; LAST-ONLINE (volgens Y-m-d G:i)
de query:
Code | Selecteer Alles
minimaliseren
1
2
3
<?php
mysql_query
("SELECT * FROM ... WHERE LAST-ONLINE - " date('Y-m-d G:i') . " = '0000-00-00 01:00")");
?>


en dan mysql_num_rows

maar ik weet uit eerdere ervaring dat dit niet werkt.


Misschien irrelevant maar ik werk met sessies.
Ook heb ik in me config dit staan:
Code | Selecteer Alles
minimaliseren
1
2
3
4
<?php
if(isset($_SESSION[''])){
    
mysql_query("UPDATE .... SET LAST-ONLINE = " date('Y-m-d G:i') . " WHERE ... = " $_SESSION['']);
}


alle gebruikte code heb ik net getypt, als er een syntax fout inzit is het door het snel typen, in het echte script zitten geen syntax fouten.
Laatst gewijzigd door Alex op 2010-09-18 11:57:52
18-09-2010 11:57
Dit topic is 111 keer bekeken door 28 verschillende leden
Reacties op: "Online Leden."
1
nyan nyan nyan nyan
Berichten: 2076
avatar
Offline Stuur privébericht
Op je 2de vraag: Denk dat je nog een ID of zo mee moet geven. Ook niet veilig, maar je kan geen lege variabelen hebben.

Ik heb zo mijn query:
Code | Selecteer Alles
minimaliseren
1
2
$tijd time() - (30 60);
$rQuery mysql_query("SELECT COUNT(id) as onlineleden FROM `users` WHERE `laatstonline` >= '" $tijd "'") or die(mysql_error());


30 is dus een half uur, dat kan je dan veranderen naar 60 minuten. Is laatstonline (of laatsteactie, of wat dan ook) een MySQL-datumformaat? Dan kan je UNIX_TIMESTAMP gebruiken om het om te zetten.
18-09-2010 12:00
Berichten: 780
avatar
Online Stuur privébericht
Quote: Jannick

Op je 2de vraag: Denk dat je nog een ID of zo mee moet geven. Ook niet veilig, maar je kan geen lege variabelen hebben.

Ik heb zo mijn query:

Code | Selecteer Alles
minimaliseren
1
2
$tijd time() - (30 60);
$rQuery mysql_query("SELECT COUNT(id) as onlineleden FROM `users` WHERE `laatstonline` >= '" $tijd "'") or die(mysql_error());


30 is dus een half uur, dat kan je dan veranderen naar 60 minuten. Is laatstonline (of laatsteactie, of wat dan ook) een MySQL-datumformaat? Dan kan je UNIX_TIMESTAMP gebruiken om het om te zetten.




Oke dankje,
ik zal het proberen en laten weten of het werkt.
18-09-2010 12:21
Reageer op: "Online Leden."
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden