Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL] Zapis?
Forum PHP.pl > Forum > Przedszkole
Fifi209
Mam taki problem. Chciałbym zrobić statystyki na swojej stronie, ile kto siedzi na serwerze. Obecnie mam ogóle (czyli czas łączny).

Chciałbym, aby z każdego dnia był oddzielny wpis np.
nazwausera, data, czas

Pomysł ze zrobieniem 360 tabel (jedna na każdy dzień), który podsunął mi kumpel jest dla mnie co najmniej idiotyczny.

Czy zapisanie tego do jednej tabeli w postaci:
nazwausera, data, czas, dzien

jest wydajne? Szacuję koło 150 wpisów dziennie. (z czasem ta liczba może się podwoić lub potroić)
Maxik
Zamiast nazwy usera daj jego ID, datę zapisuj w unixowym znaczniku czasu, czas w sekundach, dzień jako numer dnia w roku i powinno być dość wydajnie.
Fifi209
Cytat(Maxik @ 23.05.2009, 23:29:11 ) *
Zamiast nazwy usera daj jego ID, datę zapisuj w unixowym znaczniku czasu, czas w sekundach, dzień jako numer dnia w roku i powinno być dość wydajnie.


Datę jako unixowy znacznik czasu? Wyświetlając wszystkie rekordy z danego dnia to przez funkcję date() zajadę apache.
Dzień w roku - łatwo powiedzieć, powie mi ktoś jak go obliczyć? smile.gif
user_id - To nicki z gry i nie będą się zmieniały, ale ew. może być (nie zaszkodzi a tylko mniej danych)
Maxik
date("z") zwróci dzień w roku liczony od 0( date" title="Zobacz w manualu PHP" target="_manual ). Dodając dzień w roku automatycznie odpada Ci problem wyświetlania rekordów z danego dnia, chcąc obliczyć dzień w roku mając podaną zwykłą datę robisz tak:
  1. <?php
  2. $data = '02.01.2009';
  3. echo date("z", strtotime($data))+1;
  4. ?>

Skrypt powinien wyświetlić 2.
TheaSiX
dzień w roku:

  1. <?php
  2. $date = getdate();
  3. $day = $date["yday"];
  4. ?>


edit:

co do wydajności, to nie jestem pewien, ale może trzymanie tego w plikach tekstowych? osobny folder na serwerze + jeden plik tekstowy dla jednego user + w każdej linijce wpis data;czas ?
Fifi209
Cytat(TheaSiX @ 23.05.2009, 23:52:23 ) *
co do wydajności, to nie jestem pewien, ale może trzymanie tego w plikach tekstowych? osobny folder na serwerze + jeden plik tekstowy dla jednego user + w każdej linijce wpis data;czas ?



Chyba operacje dyskowe są bardziej zasobożerne niż praca z mysql'em....
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.