Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Mysql SELECT - Sortowanie uwzględniające dzień tygodnia.
denis94
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 8.08.2010
Skąd: Warszawa

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


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
denis94
post
Post #2





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 8.08.2010
Skąd: Warszawa

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


Dzięki, działa tak jak powinno, użyłem sposobu melkorma.
Mam jeszcze problem z uwzględnieniem godziny.
Mianowicie, jeżeli dziś jest poniedziałek godzina 20 to najbliższe wydarzenie pokazuje na poniedziałek o godzinie 17-tej pomimo tego, że na wtorek też jest wpisane wydarzenie.
Czyli skrypt nie uwzględnia tego, czy wydarzenie zaplanowane na dziś już minęło czy nie. Godzinę zapisuję w normalnej postaci, numerycznie.

Przykład, jeżeli aktualnie jest poniedziałek, godzina 20 - to najbliższe wydarzenie powinno być wyszukane w taki sposób: od poniedziałku o godzinie dwudziestej, do następnego poniedziałku godziny dziewiętnastej.
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: 17.10.2025 - 08:09