Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> filtrowanie
charzak
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 1
Dołączył: 25.03.2014

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




AND oraz OR.

  1. .... WHERE a.categoryId=:catId AND (promo=1 AND NOW() BETWEEN promoDateStart AND promoDateEnd OR promo=0) ....
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


  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
Go to the top of the page
+Quote Post
charzak
post
Post #4





Grupa: Zarejestrowani
Postów: 29
Pomógł: 1
Dołączył: 25.03.2014

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


super dzięki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 16:55