ďťż
Podstrony
|
telcocafeCześć.W sumie nie mam więcej nic do dodania niż to co jest w opisie. Chodzi o wyświetlenie rekordów według znajdującej się, wewnątrz bazy pola Data przechowywującego Datę dodania rekordu w formacie DD-MM-RRRR . Czy któs już coś takiego robił albo wie jak takie rozwiązanie wprowadzić ? Bardzo by mi to ułatwiło życie. Pozdrawiam. Jeszcze dodam że wydaje mi się że można to zrobić jakimś zapytaniem języka SQL może np "ORDER BY" uporządkuj za pomocą tak zazwyczaj pożadkuje wyniki według identyfikatora ale jak to zrobic według daty wiem że jest typ pola DATE albo DATETIME jednak dalej nie wiem jak posegregować :) Nie odsyłajcie mnie z kwitkiem bardzo was prosze. Użytkownik ojajej edytował ten post 10 marzec 2006, 03:08 select coś from tabela order by data; select coś from tabela order by data desc; //odwrócone wyniki Nie wystarczy takie cos? A czy MySql dobrze mi to posegreguje według daty ? przezciez są dni miesiące i lata, czy on będzie wiedział że powinno się uwzględnić rok przystępny, luty który ma 28 dni i tak dalej ? A czy MySql dobrze mi to posegreguje według daty ? przezciez są dni miesiące i lata, czy on będzie wiedział że powinno się uwzględnić rok przystępny, luty który ma 28 dni i tak dalej ? Właśnie to zrobiłem. Problem jednak polega na tym że wyświetla mi date w formacie RRRR-MM-DD a ja chciałem dokładnie odwrotnie czyli DD-MM-RRRR. Czy istnieje jakaś funkcja która mi automatycznie zamieni kolejność ? czy sam musze napisać takową bazująca na substr() ?. Pozdrawiam. To w bazie trzeba było ustawić format daty. hmm prozaiczne i proste pytanie . . . jak? :) albo jeśli jest to bardziej skomplikowane to bardzo cię prosze o adres manuala do MySql'a gdzie jest to wytłumaczone w jakiś przystępny sposób ewentualnie jak to zrobić phpMyAdmin 2.8.0-beta1 Ale ty tą bazę masz już utworzoną? Właśnie z datą w MySQL jest tak, że on a jest w formacie RRRR-MM-DD. Dlatego ja nie robie zwykle pól DATE, tylko zwykłe CHAR i przez funkcję date('d.m.Y'); biorę se date w formacie Dzień.Miesiąc.Rok np. 10.03.2006 Użytkownik mmatheww edytował ten post 10 marzec 2006, 14:31 tak mam ją już utworzoną zmieniłem typ pola na date właśnie wertuję dokumentację do typu Date na mysql.com ale jest tam tyle tekstu że bardzo trudno jest coś wyłuskać ---- no tak ale co wtedy z sortowanie według daty ---- jak sie napisze order by data to mysql zglupieje .... bo nie bedzie zapewne sortowal od roku najpierw tylko od dnia Użytkownik ojajej edytował ten post 10 marzec 2006, 14:33 tak mam ją już utworzoną zmieniłem typ pola na date właśnie wertuję dokumentację do typu Date na mysql.com ale jest tam tyle tekstu że bardzo trudno jest coś wyłuskać ---- no tak ale co wtedy z sortowanie według daty ---- jak sie napisze order by data to mysql zglupieje .... bo nie bedzie zapewne sortowal od roku najpierw tylko od dnia a ja bym był właśnie to sprawdziłem ale znalazłem też na stronie rozwiązanie tego problemu "prawie" $sql = "SELECT DATE_FORMAT(date_column_name, '%d-%m-%Y') AS new_date FROM table_name WHERE...."; teraz tak.... nie wiem jak ustawic pole data na ten format kombinowalem z "UPDATE" ale ciągle zwracany jest błąd help please : ) zapytanie: $sql = "SELECT DATE_FORMAT(date_column_name, '%d-%m-%Y') AS new_date FROM table_name"; wyswietli date w podanym formacie, jednak jak to ustawic zeby ta data sie zapisywala w takim formacie ? :) mysql> SELECT DATE_FORMAT(data, '%d-%m-%Y') FROM news; +-------------------------------+ | DATE_FORMAT(data, '%d-%m-%Y') | +-------------------------------+ | 10-03-2006 | | 17-03-2006 | | 03-10-2006 | | 17-03-2006 | | 17-03-2006 | +-------------------------------+ 5 rows in set (0.00 sec) mysql> ROZWIĄZANIE :::: mysql> SELECT id,autor,komentarze,rodzaj,aktywny, DATE_FORMAT(data, '%d-%m-%Y') AS news FROM news ORDER BY data DESC; +----+------------+------------+----------+---------+------------+ | id | autor | komentarze | rodzaj | aktywny | news | +----+------------+------------+----------+---------+------------+ | 5 | 1234567890 | 0 | adfhagfa | 1 | 14-03-2006 | | 4 | orglee | 0 | [TEST] | 1 | 13-03-2006 | | 3 | orglee | 0 | [TEST] | 1 | 12-03-2006 | | 2 | orglee | 0 | [TEST] | 1 | 11-03-2006 | | 1 | orglee | 0 | | 1 | 10-03-2006 | +----+------------+------------+----------+---------+------------+ 5 rows in set (0.01 sec) mysql> nie wiem czy sie da wstawiac date w takim formacie grunt ze sie da wyswietlac wedlug daty rekordy trzeba tylko po select dac nazwe pol w bazie w przciwnym wypadku zapytanie zwroci tylko wartosci pola select Użytkownik ojajej edytował ten post 10 marzec 2006, 15:19 Chyba ustawić się nie da, bo pole DATE ma ustawioną domyślnie YYYY-MM-DD |
|||
Sitedesign by AltusUmbrae. |