Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Wyciąganie rekordu z przed 5 godzin
Forum PHP.pl > Forum > Przedszkole
kombox
Witam mam taki problem poniewaz nie wiem jak pobrac rekord z przed 5 godzin w bazie mam datetime

  1. SELECT * FROM cos WHERE date=NOW();


pobiera mi całosc nie wiem jak uwzglednic te godziny

bede wdzieczny za pomoc
Wicepsik
Manual:
http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.html


Tak ciężko wpisać w google date mysql ?
Spyder
Ja bym to zrobil na mktime, to kilka przykladow:

  1.  
  2. //YESTERDAY
  3. $yesterday = date("Y-m-d H:i:s",mktime(0, 0, 0, date("m") , date("d")-1, date("Y")));
  4.  
  5. //THIS WEEK
  6. $fromDate = date("Y-m-d H:i:s",mktime(0, 0, 0, date("n"), date("j"), date("Y")) - ((date("N")-1)*3600*24));
  7. $toDate = CURRENT_TIMESTAMP;
  8. //LAST WEEK
  9. $fromDate = date("Y-m-d H:i:s",mktime(0, 0, 0, date("n"), date("j")-6, date("Y")) - ((date("N"))*3600*24));
  10. $toDate = date("Y-m-d H:i:s",mktime(23, 59, 59, date("n"), date("j"), date("Y")) - ((date("N"))*3600*24));
  11.  
  12. //THIS MONTH
  13. $fromDate = date("Y-m-d H:i:s",mktime(0, 0, 0, date("m") , 1, date("Y")));
  14. $toDate = CURRENT_TIMESTAMP;
  15.  
  16. //LAST MONTH
  17. $fromDate = date("Y-m-d H:i:s",mktime(0, 0, 0, date("m")-1 , 1 , date("Y")));
  18. $toDate = date("Y-m-d H:i:s",mktime(23, 59, 59, date("m"), date("d")-date("j"), date("Y")));
  19.  
  20. //THIS YEAR
  21. $fromDate = date("Y-m-d H:i:s",mktime(0, 0, 0, date(1) , date(1), date("Y")));
  22. $toDate = CURRENT_TIMESTAMP;
  23.  
  24. //LAST YEAR
  25. $fromDate = date("Y-m-d H:i:s",mktime(0, 0, 0, 1 , 1, date("Y")-1));
  26. $toDate = date("Y-m-d H:i:s",mktime(23, 59, 59, 12, 31, date("Y")-1));
  27.  
  28. ?>
  29.  
  30.  


tak bym sprowadzil do zmiennej date z -5 godzin a tak bym wylosowal i przerobil date z bazy danych:

  1.  
  2.  
  3. $dbdat = explode("/", $row['op_date']);
  4. $dbyear = explode(" ", $dbdat[2]);
  5. $dbdate = $dbdat[0] . "/" . $dbdat[1] . "/". $dbyear[0];
  6. $dbdateUnix = mktime(0,0,0,$dbdat[1],$dbdat[0],$dbyear[0]);
  7.  


gdzie $row['op_date'] to data pobrana w petli z bazy. potem pozostaje tylko if i po sprawie winksmiley.jpg
kefirek
  1. WHERE DATA >= DATE_SUB(NOW(),INTERVAL 5 MINUTES)
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.