Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: filtrowanie
Forum PHP.pl > Forum > Bazy danych > MySQL
charzak
Hej, potrzebuję waszej pomocy. Mam tabelę mysql: id, title, image, promo (bool), promoDateStart, promoDateEnd i teraz chce pobrać wszysktie rekordy z promo=1 oraz promo=0 ale te z promo=1 były NOW() BETWEEN promoDateStart AND promoDateEnd. utknąłem w tym miejscu:
  1. SELECT
  2. SQL_CALC_FOUND_ROWS a.id,
  3. a.title,
  4. a.url,
  5. a.image,
  6. a.promo
  7. FROM ads AS a
  8. WHERE a.categoryId=:catId
  9. ORDER BY a.promo DESC, a.dateCreate DESC
  10. LIMIT 0, 10
nospor
AND oraz OR.

  1. .... WHERE a.categoryId=:catId AND (promo=1 AND NOW() BETWEEN promoDateStart AND promoDateEnd OR promo=0) ....
Crozin
  1. [...] ORDER BY a.promo = 1 AND NOW() BETWEEN a.promoDateStart AND a.promoDateEnd DESC [...]
Powinno Ci zwrócić w pierwszej kolejności jedynie te reklamy, które są obecnie promowane. Dalszego sortowania w ramach jednej i drugiej grupy nie ma - jeśli potrzebujesz dodaj sobie kolejną regułę po przecinku
charzak
super dzięki
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.