Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie wartości poniżej 36 godzin.
Forum PHP.pl > Forum > Bazy danych > MySQL
gandziorz
Mam sobie tabelkę o wdzięcznej nazwie "przypomnienie". Teraz chciałbym pobrać wartości które mają mniej niż 36 godzin.
W bazie mam kolumne "sent" gdzie dane mają postać "NOW()" czyli format datetime '0000-00-00 00:00:00';

  1. <?php
  2. $spr=@mysql_fetch_array(@mysql_query("SELECT * FROM ".$settings['db_prefix']."przypomnienie WHERE id=\"".$id."\" AND sent(CURRENT_TIMESTAMP(), INTERVAL 36 HOURS)"));
  3. if (!($spr)) {
  4. array_push ($errors, 'nieaktywne');
  5. }
  6. ?>

Wiem że są tam dane gdzie id się zgadza, i czas też jest poniżej 36 godzin pomimo to zwraca mi że nic nie ma.
prond
Warunek na sent powninen wyglądać tak:
  1. SELECT *
  2. FROM przypomnienie WHERE id = 111111 AND DATE_SUB(CURDATE(),INTERVAL 36 DAY) <= sent;
gandziorz
Mi chodzi o 36 godzin, nie dni.
Kombinowałem na różne sposoby i nie mam już sił.

//edit

Poradziłem sobie i okazało się że zamiast spojrzeć w manuala to kombinowałem nie potrzebnie.
  1. <?php
  2. $spr=@mysql_fetch_array(@mysql_query("SELECT * FROM ".$settings['db_prefix']."przypomnienie WHERE id=\"".$id."\" AND DATE_ADD(sent, INTERVAL 36 HOUR) > NOW()"));
  3. ?>

Chodziło o "HOUR" a nie "HOURS".
Po prostu źle miałem zapisane.
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.