Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Wywołanie rekordów odpowiadające dacie
brzanek
post
Post #1





Grupa: Zarejestrowani
Postów: 429
Pomógł: 0
Dołączył: 8.11.2012

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


Witam mam w bazie wydarzenia, które pojawią się za np. 2 dni.
Na stronie w php mam takie wywoływanie
  1. $result = dbquery(
  2. "SELECT * FROM ".DB_OSTRZEZENIA." WHERE NOW() BETWEEN CONCAT(ost_startdzien) AND CONCAT(ost_enddzien,' ',ost_endgodzina) ORDER BY ost_id DESC LIMIT 3"
  3. );


Oczywiście zwraca mi to rekordy jaki ma się pojawić tego dnia. Ale jak zrobić aby wywołać rekordy kolejne (przybliżone) te co mają pojawić się np. za 2 dni. Dodam tylko, że nie w każdym dni jest jakieś wydarzenie.

Chciał bym taki efekt.
W bazie mam:
18.07.2017 - wydarzenie 1
20.07.2017 - wydarzenie 2

Na stronie chcę wyświetlić to w takiej formie
18.07.2017 - wydarzenie 1
19.07.2017 - brak wydarzeń
20.07.2017 - wydarzenie 2
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Zrób sobie LEFT JOIN z taką tabelą:
  1. SELECT CURDATE() + INTERVAL (daty.dzien) DAY AS DATA FROM (SELECT 0 AS dzien UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) AS daty
tu jest przykład do 3-ech dni w przód, możesz go rozszerzyć lub zawęzić.

Ten post edytował trueblue 18.07.2017, 09:09:00
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 18:58