ďťż
Podstrony
|
telcocafeWitam...mam w bazie danych przy news`ach pole 'data_dodania' typu TIMESTAMP. Podczas wyświetlania sortuje je wg. daty, ale jest mały problem. Bo wygląda to tak:30 lipca 27 lipca 27 lipca 2 września 2 września a chciałbym: 2 września 30 lipca 27 lipca zapytanie $sql = "SELECT * FROM news ORDER BY data_dodania DESC"; jeżeli wytne DESC to mam 2 września 27 lipca 30 lipca w czym może tkwić problem? A nie byłoby prościej gdybyś w bazie zapisywał w polu int wartość funckji time()? W ten sposób sortowanie byłoby ok. Tutaj chyba nie da rady tego zrobić bo to sortuje według liczb a nie daty. moznaby bylo zapisywać do bazy w taki sposób: np. 13.12 sortowanie byłoby chyba ok ale potem musiałbyś rozdzielić to i switchem lub przez tablice zamienic numer miesiaca na jego nazwe... date_format() w MySQL. Pomoże :) I to trochę dziwne,ponieważ TIMESTAMP ma taką zawartość: rok, miesiąc, dzień, godzina, minuty, sekundy. Dlatego Twój sposób powinien działać,chyba że coś źle robisz . . . Użytkownik andrzej_aa edytował ten post 02 wrzesień 2007, 19:05 moznaby bylo zapisywać do bazy w taki sposób: np. 13.12 sortowanie byłoby chyba ok ale potem musiałbyś rozdzielić to i switchem lub przez tablice zamienic numer miesiaca na jego nazwe... MySQL i inne bazy danych obsługują daty, co jest znacznie wygodniejsze i bardziej wydajne niż takie kombinacje. w Mysql'u pole typu datetime sortuje bez problemu :) w Mysql'u pole typu datetime sortuje bez problemu :) I Jasio zdobywa nagrodę główną !!!! :) Tak - zanim to przeczytałem kombinowałem z różnymi typami i ten okazał się słuszny :) Dlatego jeśli ktoś będzie chciał dobrze sortować niech sobie ustawi DATETIME - podczas dodawania do bazy niech się skorzysta z funkcji NOW(). I po sprawie :) zawsze do usług :) |
|||
Sitedesign by AltusUmbrae. |