Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][SQL] przetłumaczenie warunku sprawdzania daty zz, UNIX_TIMESTAMP(onlinetime) >= '".(time()-600)."' na
messmaker
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 5
Dołączył: 5.12.2008

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


Jak w temacie, próbowałem bezskutecznie, a zmienne datowe nigdy nie chciały ze mną współpracować, więc zwracam się o pomoc w tej kwestii, otóż chciałbym fragment zapytania:

Kod
(...)   AND UNIX_TIMESTAMP(onlinetime) >= '".(time()-600)."'   (...)

Kod
(...)   AND UNIX_TIMESTAMP(onlinetime) <  '".(time()-600)."'   (...)



przetopić na if() w PHP. Pozwoli mi to uniknąć dublowania i rozdzielić wyniki skryptem.


Czekam na odpowiedź i pozdrawiam
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://php.net/mktime

A poza tym lepiej zostawić w bazie... bo czesto jest mniej obciazona niz serwer php.


--------------------
Go to the top of the page
+Quote Post
messmaker
post
Post #3





Grupa: Zarejestrowani
Postów: 106
Pomógł: 5
Dołączył: 5.12.2008

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


Hm, czyli nie mocować się z ograniczaniem ilości zapytać do minimum?
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Pokaż zapytania i powiedz co one maja robic to moze cos zoptymalizujemy.


--------------------
Go to the top of the page
+Quote Post
messmaker
post
Post #5





Grupa: Zarejestrowani
Postów: 106
Pomógł: 5
Dołączył: 5.12.2008

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


Kod
$query7 = doquery("SELECT id,charname,difficulty,gender FROM {{table}} WHERE clantag='$tag' AND UNIX_TIMESTAMP(onlinetime) >= '".(time()-600)."' ORDER BY level DESC", "users");

i
Kod
$query7 = doquery("SELECT id,charname,difficulty,gender FROM {{table}} WHERE clantag='$tag' AND UNIX_TIMESTAMP(onlinetime) < '".(time()-600)."' ORDER BY level DESC", "users");


chodzi generalnie o to, żeby userzy aktywni w ciągu ostatnich 10 minut byli pogrubieni, a bumelanci nie smile.gif
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. SELECT id,charname,difficulty,gender, IF(UNIX_TIMESTAMP(onlinetime)<= ".(time()-600).", 1, 0) AS online FROM {{TABLE}} WHERE clantag='$tag' ORDER BY level DESC


W wyniku 'online' bedziesz mial powiedziane czy byl aktywny w ciagu ostatnich 10 minut.

Ten post edytował wookieb 5.12.2008, 11:59:50


--------------------
Go to the top of the page
+Quote Post
messmaker
post
Post #7





Grupa: Zarejestrowani
Postów: 106
Pomógł: 5
Dołączył: 5.12.2008

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


Dzięki smile.gif
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: 20.08.2025 - 23:00