Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytania z datą i czasem w Mysql
Forum PHP.pl > Forum > PHP
gam3r
witam miałem problem z ułożeniem zapytania do BD Mysql związanego z porównywaniem dat i czasów. Miałem, ponieważ poradziłem sobie z nim, co prawda nie bezpośrednio z zapytaniem, tylko stworzyłem dodatkowe warunki w php które musiałyby być spełnione przez rezultaty zwrócone przez Mysqla aby znaleźć się tam gdzie miałyby sie znaleźć. Jednak chciałbym się dowiedzieć czy w MySQL mozna by to tez zrobic za pomocą jakiegoś bardziej skomplikowanego zapytania.
No ale konkretnie: chodzi o to ze robię stronkę w której ma być dział występy(stronka kabaretu) no i chodzi o to że mam dział "Terminarz występów" podzielony na dwie części: Nadchodzące i Ostatnie. No i problem jest z zapytaniem. Bo jak ułożyć zapytanie jeżeli mam np. 1 lutego i jest godzina 16:00 w ten dzień dwa występy: o 10:00 i 20:00. Bo jeżeli stworzę warunek dla nadchodzących występów:
  1. SELECT *
  2. FROM wystepy
  3. WHERE DATA >= '$akt_data' AND time > '$akt_czas' ORDER BY DATA DESC, time DESC

to jeżeli w jakiś następny dzień będę mieć występ wcześniej niż o 16:00 to go nie wyświetli, więc ja poradziłem sobie zapytaniem tak:
  1. SELECT *
  2. FROM wystepy
  3. WHERE DATA >= '$akt_data' ORDER BY DATA DESC, time DESC

i stworzyłem dodatkowe warunki, już w kodzie php:
  1. <?php
  2. $dane=mysqli_fetch_object($res);
  3.  
  4. if( ($dane->data > $akt_data) || ( ($dane->data)==$akt_data AND ($dane->time)> $akt_czas) )
  5. {
  6.  // echo bla bla bla
  7. }
  8. ?>


ale czy można by to jakoś rozwiązać bez tych warunków w php?
SongoQ
Ten warunek mozesz dokladnie tak samo zapisac w MySQL. Zainteresuj sie funkcja INTERVAL
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.