Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Mysql][Php]Sortowanie daty
Forum PHP.pl > Forum > PHP
Jarek099
$sql="SELECT * FROM `xxx` WHERE cos = '".$cos."' ORDER BY `data` DESC";
u mnie w bazie danych data zapisuje się tak : 31.12.2010 .
I źle mi sortuje po dacie, napisałem kod który zmienia z 31.12.2010 na 2010.12.31. Ale to nic nie daje bo sortowanie jest przez SELECT, da się jakoś zrobić by zmienić sortowanie w kodzie '' $sql '' questionmark.gif
wookieb
.... Ponieważ pole to musi być typu datetime albo timestamp (co wolisz)
Jarek099
Tak tylko to ja wiem ^^
Ale jak mam około 700tyś wpisów do posegregowania i muszę zrobić by szło od 2010 w dół ...
A edycja każdego z nich jest bezsensowna ^^
wookieb
No to zrób konwersję zapytaniem. Np spróbuj utworzyć dodatkową kolumnę do której wrzucisz dane w formacie rok-miesiąc-dzień 00:00:00
  1. UPDATE tabela SET nowa_data = REPLACE(stara_data, '.', '-') || ' 00:00:00'

Pisane z palca więc musisz pokombinować
Jarek099
No to zrobiłem tak :
UPDATE baza SET newkolumn = REPLACE(data, '.')
i w nowej kolumnie do każdego przypisało mi '' 0000-00-00 00:00:00 ''
Więc chyba lipa
wookieb
Cytat(Jarek099 @ 13.07.2010, 10:27:02 ) *
UPDATE baza SET newkolumn = REPLACE(data, '.')

To chyba nie jest to co podałem. Poza tym daj strukture tabeli i parę przykładowych rekordów.
Jarek099
Pisałem z ręki to pominęło mi się wstydnis.gif

to to jest struktura bez nowej kolumny :
id | imie | nazwisko | urodzony | zmarl
int(4) | varchar(40) | varchar(40) | varchar(12) | varchar(12)

i przykłady :

1 | Ignacy | Nowak | 31.01.1914 | 11.06.1996
2 | Karolina | Kowalksa | 10.11.1910 | 23.05.1986
3 | Krystyna | Palikot | 10.01.1932 | 23.04.1985

wookieb
  1. UPDATE tabela SET nowa_data = CONCAT(substr(stara_data, 7), '-', substr(stara_data, 4, 2), '-', substr(stara_data, 1, 2), ' 00:00:00')

Typ pola nowej tabeli to datetime
Jarek099
Noo fajnie zadziałało tongue.gif
Dzięki wielkie winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.