Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] zapytanie do bazy - jak to zrobic?, dot. skomplikowanego zapytania...
rml
post
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 13.03.2005

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


witam,

to znow ja z moimi skomplikowanymi zapytaniami (IMG:http://forum.php.pl/style_emoticons/default/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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
L_Devil
post
Post #2





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

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


ja bym zrobił tak - zapisz datę/godzinę w formacie UNIX time stamp [Liczba sekund jakie upłynęła od 1 Stycznia 1970r] (jest to funkcja time() w php, nie pamiętam jaka w mysqlu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) - łatwiej się tym operuje, można potem konwertować na zwykłą datę funkcją
  1. <?php
  2. date(&#092;"format\", $timestamp_ściągnięty_z_bazy);
  3. ?>


Wchodzisz na stronę pobierasz
  1. <?php
  2. mysql_query(&#092;"SELECT * from tablica WHERE date<\".(time()-3600).\"AND ip like '\".$adres_ip.\"'\");
  3. ?>
i masz pobrany rekord, w którym data jest starsza o godzinę od aktualnej dla danego IP.

Ten post edytował L_Devil 18.06.2005, 09:02:21
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 02:34