Witam.
Borykam się z problemem odpowiedniego sortowania pobranych wyników z bazy danych.
W tabeli mam rekordy które przechowują wydarzenia w mieście. Struktura to: id, nazwa, dzien, godzina
(gdzie poniedziałek = 1 a niedziela = 7)
Chciałbym aby sortowanie było zależne od dnia tygodnia który jest aktualnie.
Funkcją date("w") pobieram aktualny dzień tygdnia.
Tak formułuje zapytanie: SELECT * FROM wydarzenia WHERE dzien>=$dzien_aktualny ORDER BY dzien ASC LIMIT 1
Problem jest taki, że jeżeli dziś jest środa, to zapytanie wyszuka najbliższe wydarzenie od dziś do niedzieli. Muszę zrobić za pomocą jednego zapytania w taki sposób, że jeżeli od dziś do niedzieli nie ma żadnego wydarzenia to wyszukuje dalej czyli od niedzieli do wtorku.
Przykład sortowania: dziś jest środa czyli $dzien_aktualny = 3. Rekordy powinny być sortowane według dni w takiej kolejności 3,4,5,6,7,1,2
Proszę o pomoc. Zależy mi na tym aby było to w jednym zapytaniu.