Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]sortowanie po dacie, terminie, jak poprawnie posortowac
pkania128
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 3.07.2009

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


witam,
mam w bazie danych datę (termin) zapisywany w formacie: 22.12.2012, 10.05.2012, 25.06.2012
jak za pomocą zapytania wyświetlić wynik - datę w kolejności czyli
10.05.2012
25.06.2012
22.12.2012

w moim zapytaniu jest

  1. $zapytanie = "select * from `2012` WHERE
  2. rezerwacja = 'TAK'
  3. ORDER BY `data` DESC";


i wyświetla mi wynik:
25.06.2012
22.12.2012
10.05.2012

z góry dziękuje za pomoc i wskazówki
Go to the top of the page
+Quote Post
bostaf
post
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Funkcja STR_TO_DATE().
  1. SELECT * FROM `2012`, STR_TO_DATE(`data`, '%d.%m.%Y') AS `data_sformatowana`
  2. WHERE rezerwacja = 'TAK'
  3. ORDER BY `data_sformatowana` DESC";
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%)
-----


Nie masz daty, tylko nic nieznaczący tekst. Przechowuj datę jako datę (typ kolumny: DATE), a Twoje zapytanie będzie działać poprawnie.
Go to the top of the page
+Quote Post
pkania128
post
Post #4





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 3.07.2009

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


niestety kombinuję ale nie działa:
nie mam pojęcia dlaczego, proszę o podpowiedzi.

a jak w bazie zmieniam date na DATE to wszystko się krzaczy, muszę mieć datę w formie testu i ją "przerobić" tak aby się dobrze wyświetlała

tak próbowałem:

  1. SELECT * FROM `2012`, STR_TO_DATE('data_platnosci_cal', '%d.%m.%Y') AS `data_sformatowana`
  2. WHERE rezerwacja = 'TAK'
  3. ORDER BY `data_sformatowana` DESC";



  1. SELECT STR_TO_DATE('data_platnosci_cal', '%d.%m.%Y') AS `data_sformatowana` * FROM `2012`
  2. WHERE rezerwacja = 'TAK'
  3. ORDER BY `data_sformatowana` DESC";


  1. SELECT * FROM `2012`
  2. WHERE STR_TO_DATE('data_platnosci_cal', '%d.%m.%Y') AS `data_sformatowana`
  3. AND rezerwacja = 'TAK'
  4. ORDER BY `data_sformatowana` DESC";


Ten post edytował pkania128 6.06.2012, 13:03:56
Go to the top of the page
+Quote Post
patrysiek2
post
Post #5





Grupa: Zarejestrowani
Postów: 108
Pomógł: 5
Dołączył: 8.12.2011
Skąd: Łomża

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


W mysql masz różne typy np. TEXT i takie tam... Te pole gdzie masz datę zmień na tryb DATE


--------------------
if($problem == 1)
{
header("Location: http://www.forum.php.pl");
}
else
{
thinking();
}
Go to the top of the page
+Quote Post
pkania128
post
Post #6





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 3.07.2009

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


to wiem, ale po zmianie formatuje mi się data, i zmienia te wpisy,
na razie rozwiązałem problem w inny sposób dzięki
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 04:20