Autor Zpráva
Khu
Profil *
Dobrý den.
Nevím, jak mám udělat seznam uživatelů, kteří byli aktivní za posledních pět minut.
Přihlášení ověřuji v tabulce intranet_sessions. Do tabulky pravděpodobně přidám sloupec do kterého budu ukládat datum a čas.
Při každém obnovení stránky datum aktualizuji a následně pomocí SQL dotazu vyberu z tabulky poslední přihlášené uživatele.
Mám dvě otázky:
1) V jakém formátu mám datum a čas do tabulky ukládat? Jak jej lze v tomto formátu vygenerovat pomocí PHP?
2) Jakým SQL dotazem mám vybrat všechny řádky, které mají hodnotu sloupce posledni_aktivita v nějakém rozmezí?
Děkuji :)
Alphard
Profil
1. datetime, není nutno generovat v PHP, MySQL má funkci now()
2.
select id, nick from uzivatele where posledni_akce > date_sub(now(), interval '15' minute) and prihlasen = 1

V závislosti na vytížení stránky nahraďte now() za z PHP dosazený čas, aby mohlo MySQL cachovat.
GeneralDv
Profil
Mě se do tabulky pro počítadlo zapisuje do sloupce VARCHAR čas generovanej funkcí Time() - ten se aktualizuje při každym načtení stránky. A u patičky webu se akorát vypíšou úplně všechny záznamy z počítadla ale je tam podmínka no..

<?php
//další..
mysql_query("select nick from pocitadlo where nick!=''");
?>


V počítadle se mi záznamy starší než 180 sekund smažou..
Taps
Profil
GeneralDv
pokud cchceš zobrazit jen záznam daného uživatele tak musíš do dotazu dostat id uživatele
GeneralDv
Profil
GeneralDv
pokud cchceš zobrazit jen záznam daného uživatele tak musíš do dotazu dostat id uživatele

Ne, já chci vypsat jen nicky (všechny), nevim ale mě to funguje.. :)
Lamicz
Profil
GeneralDv
Proc VARCHAR, vzdyt time() je presne INT(10)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: