Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: trudne zapytanie zwiazane z czasem
Forum PHP.pl > Forum > Bazy danych > MySQL
rml
witam,

to znow ja z moimi skomplikowanymi zapytaniami winksmiley.jpg ktore niektorzy uwazaja za proste... ale...


mam tabele:

| ip | godz | data |

a zalozenia sa takie ze moze byc wiele wpisow z jednego ip (to takie jakby statystyki)...

a teraz potrzebuje rozroznic wizyty od zwyklych klikniec, czyli zakladam ze kazde ip ma 60 minut na to zeby stracic aktywnosc (jak nastapi klikniecie z tego samego ip po 60 minutach - zalicza kolejna wizyte).

no i teraz - jak zapytac baze danych o wszystkie wpisy z danego ip ktore sa "nie starsze niz godzine temu"? problemem jest to ze zmienia nam sie punkt odniesienia, bo to musi byc godzina od ostatniego klikniecia... czyli od ostatniego wpisu... pamietajac o tym ze moze nastapic kolejne klikniecie z tego ip (wiec nie mozna sie ograniczyc do daty...)

poza tym: czy zapisywanie daty i czasu w oddzielnych kolumnach nie powoduje jakiegos problemu? czy on wie ze np. jak cofam go o 60 min o godzinie 0:10 to ze zmieni mu sie data? jak sobie poradzic ze zliczaniem takich wizyt - ktore beda zahaczac o rozne daty?


pozdrawiam serdecznie,
rml.
SongoQ
Troszeczke inaczej bym zbudowal tabele

id | ip | data_dstatniej_aktywnosci | ilosc_wejsc

Jesli ip wchodzi to sprawdzasz czy ma zwiekszyc licznik

  1. SELECT id
  2. FROM tabela WHERE data_dstatniej_aktywnosci < NOW() - INTERVAL 60 minute AND ip = $ip


Jesli cos zwroci to wtedy update
  1. UPDATE tabela SET data_dstatniej_aktywnosci = data_dstatniej_aktywnosci + 1 WHERE ip = $ip
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.