Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL] przetłumaczenie warunku sprawdzania daty zz
Forum PHP.pl > Forum > Przedszkole
messmaker
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
wookieb
http://php.net/mktime

A poza tym lepiej zostawić w bazie... bo czesto jest mniej obciazona niz serwer php.
messmaker
Hm, czyli nie mocować się z ograniczaniem ilości zapytać do minimum?
wookieb
Pokaż zapytania i powiedz co one maja robic to moze cos zoptymalizujemy.
messmaker
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
wookieb
  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.
messmaker
Dzięki smile.gif
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.