Autor | Zpráva | ||
---|---|---|---|
Mozkomor05 Profil |
#1 · Zasláno: 2. 5. 2016, 20:02:08
Dobrý den, v počítadle mám návštěvy za den a týden. Avšak tyto údaje nejsou pravdivé. Místo aby se v týdnu zobrazovaly návštěvy za týden zobrazují se návštěvy za posledních sedm dnů, to samé i ve dnech. Mohli byste mi poradit jak mám udělat, aby to vždy bylo od pondělí do neděle a od 0:00 do 23:59? Děkuji. Kód je příliš dlouhý a má několik souborů, takže si jej můžete stáhnout a prohlédnout zde.
|
||
úsměv Profil |
#2 · Zasláno: 3. 5. 2016, 16:15:59
asi si zapisovat i datum prihlaseni a pak ho porovnavat s tim ktery je ted --date(j.n.Y G:i:s) = den.mesi.rok hodiny:minuty:vteriny. Zdroj: www.pehapko.cz/zakladni-kurz/10-podminky
ps: pokud ti nekdo nabizi jine reseni (ktere funguje), ber ho. Mluvi ze mne zkusenost. |
||
Mozkomor05 Profil |
#3 · Zasláno: 4. 5. 2016, 17:42:56
Díky za radu, ale nevím jak to mám udělat.
|
||
juriad Profil |
#4 · Zasláno: 4. 5. 2016, 18:21:31
Mozkomor05:
Zaprvé, neukládej datum v databázi jako INT, ale jako DATETIME. To ti pak umožní provádět pokročilejší statistiky. Ten výpočet s *86400 nahraď za:
strtotime("midnight - $dnu day") date("Y-m-d H:i:s", strtotime("midnight - $dnu day")) Pozor! Toto změní sémantiku argumentu $dnu . Hodnota znamená, kolik celých předchozích dnů spolu s aktuálním chceš spočítat. Za dnešek bude $dnu = 0 za týden bude $dnu = 6 .
|
||
juriad Profil |
#5 · Zasláno: 4. 5. 2016, 18:22:10
Ještě dodám relevantní část ze zdrojáku:
public function uipDnu($dnu) { $vysledek = Databaze::dotaz(' SELECT COUNT(DISTINCT `ip`) AS `pocet` FROM `zobrazeni` WHERE `datum` > ? ', array(time() - $dnu * 86400)); $data = $vysledek->fetch(); return $data['pocet']; } |
||
Mozkomor05 Profil |
#6 · Zasláno: 5. 5. 2016, 19:54:17
Jo super funguje. Díky
|
||
Časová prodleva: 9 let
|
0