Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MYSQL] Zapis?, Nie wiem jak nazwać temat.
Fifi209
post
Post #1





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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ć)

Ten post edytował fifi209 23.05.2009, 22:28:19


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Maxik
post
Post #2





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


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.


--------------------
Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/
Go to the top of the page
+Quote Post
Fifi209
post
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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)

Ten post edytował fifi209 23.05.2009, 22:33:22


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Maxik
post
Post #4





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


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.


--------------------
Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/
Go to the top of the page
+Quote Post
TheaSiX
post
Post #5





Grupa: Zarejestrowani
Postów: 110
Pomógł: 10
Dołączył: 3.09.2006
Skąd: Bishop Auckland

Ostrzeżenie: (0%)
-----


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 ?

Ten post edytował TheaSiX 23.05.2009, 22:58:32
Go to the top of the page
+Quote Post
Fifi209
post
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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....


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 07:02