ďťż

[php]Data dodania sortowanie

       

Podstrony


telcocafe

Witam...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 :)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.