job777
10.05.2010 - 13:35
Здраствуйте, возник очень простой вопрос, но пока не доходит, как решить. Всем известно, что сортировку по дате (поле в БД обозначил date) можно произвести следующим запросом:
$result = mysql_query("SELECT * FROM news ORDER BY date DESC",$db);
К примеру, у нас есть две записи. У одной - 2005-03-07, у второй - 2008-02-23. Привышеописанном запросе выведет сначала 2-ю запись, а потом 1-ю. Но возьмём американскую систему. Там сначала идёт месяц, потом день и, соответственно, год. Т.е. даты будут выглядеть уже так:
03-07-2005 и 02-23-2008. Если повторить тот же запрос, то уже выведет сначала 1-ю, а потом 2-ю запись (сортировка ведь начинается уже с месяца), хотя должно выводить наоборот. Как это реализовать, может кто-то сталкивался с такой задачей?
FatCat
10.05.2010 - 14:54
Я не пишу даты в БД, пишу time(), а в "человеческие" отображения преобразую при выводе.
_____________
Бесплатному сыру в дырки не заглядывают...
Задача, действительно, элементарная была. Запрос нужно делать так:
$result = mysql_query("SELECT * FROM news ORDER BY date (GET_FORMAT(DATE,'USA')) DESC",$db);
Т.е., учитываю формат определённого региона. Вот и всё, может кому тоже такое понадобится
vagrand
10.05.2010 - 16:58
Цитата |
У одной - 2005-03-07, у второй - 2008-02-23. Привышеописанном запросе выведет сначала 2-ю запись, а потом 1-ю. |
А ничего что у Вас вторая дата больше первой почти на 2-а года?
И причем тут формат записи даты?
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.