Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Odejmowanie czasu
Hfastmet
post 9.10.2009, 00:04:17
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 26.07.2008

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


Witam!

Chciałbym zwrócić wszystkie wyniki, które spełniają warunek taki,że pole z godziną musi być nie starsze niż 20 minut wstecz.

Zapytuje tak:

  1. $zapytanie = $pdo->prepare('SELECT * FROM `user`
  2. WHERE `last` BETWEEN NOW() AND DATE_SUB(NOW(), INTERVAL 20 MINUTE)');


pole `last` jest typu DATETIME

no i ciągle dostaje 0 mimo, że tak być nie powinno, na pewno jest jakiś błąd logiczny, tylko jaki?

Ten post edytował Hfastmet 9.10.2009, 00:08:51
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
MiChaSSs
post 9.10.2009, 00:26:30
Post #2





Grupa: Zarejestrowani
Postów: 65
Pomógł: 4
Dołączył: 6.09.2007

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


blad logiczny tongue.gif
sprobuj tak:
  1. SELECT * FROM `user` WHERE `last` BETWEEN DATE_SUB(NOW(), INTERVAL 20 MINUTE) AND NOW();

lub mozesz tez tak:
  1. SELECT * FROM `user` WHERE `last`> DATE_SUB(NOW(), INTERVAL 20 MINUTE)

pozdrawiam Michal smile.gif

P.S Wiecej na http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.html

Ten post edytował MiChaSSs 9.10.2009, 00:38:20
Go to the top of the page
+Quote Post
Hfastmet
post 9.10.2009, 01:02:11
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 26.07.2008

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


ha Michaś pomogłeś smile.gif (oczywiście klikam)

kumam Between przyjmuje najpierw dolną granicę a potem górną.

pozdrawiam również Michał.
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 09:34