| 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: 10 let
|
|||
0