Автор Тема: Сортировка по дате  (Прочитано 7671 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Сортировка по дате
« : 22 Декабря 2004, 19:59:04 »
Как отсортировать по дате элементы вида:
$a=2 декабря 2004
$b=4 июня 2004
$c=26 сентября 1998

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Сортировка по дате
« Ответ #1 : 22 Декабря 2004, 23:50:40 »
привести к нормальному формату и отсортировать

Оффлайн xax

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 230
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Сортировка по дате
« Ответ #2 : 23 Декабря 2004, 01:12:58 »
RomikChef Это я понимаю, но как быть если много таких операторов со значениями даты, то каждую из них разюивать в массив потом переставлять это невозможно, как тут быть?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Сортировка по дате
« Ответ #3 : 23 Декабря 2004, 02:56:12 »
Цитировать
xax:
каждую из них разюивать в массив потом переставлять это невозможно

нету ножек - нет и варенья

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
Сортировка по дате
« Ответ #4 : 23 Декабря 2004, 13:21:22 »
Цитировать
xax:
операторов со значениями даты


интересно, но операторов я еще не заметил.

Это что все в ручную набирается ?
Если так то придется как сказал RomikChef.

далее приведу свой алгоритм

1. выбираешь все из поля содержащую даты.
2. В теле цикла разбиваешь массив и как тебе угодно меняешь  строчные буквы на цифры(из известных тебе способов),тем самым приводя данные в формат даты МуSQL т.е. гггг-мм-дд.
3. Записывешь нормальный формат в поле дата.
4. Сортируешь.

RomikChef
Если где то ошибся прошу поправить, так как выше перечисленное не пробывал осуществлять на практике.
« Последнее редактирование: 23 Декабря 2004, 13:57:05 от for_i_0 »
[off]Безработный[/off]

Оффлайн chakra

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://bluebirds.ema.lv/
Сортировка по дате
« Ответ #5 : 23 Декабря 2004, 13:50:44 »
Цитировать
for_i_0:
2. В теле цикла разбиваешь массив и как тебе угодно меняешь строчные буквы на цифры(из известных тебе способов),тем самым приводя данные в формат двты МуSQL т.е. гггг-мм-дд.
3. Записывешь нормальный формат в поле дата.
4. Сортируешь.


Я обычно привожу в тот формат (а чаще всего просто пишу гггг-мм-дд) и делаю это стрингом, а не датой. Тогда MySQL сортирует без проблем.

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Сортировка по дате
« Ответ #6 : 23 Декабря 2004, 13:59:56 »
for_i_0
chakra
xax
localtime...
And no religion too...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Сортировка по дате
« Ответ #7 : 23 Декабря 2004, 15:28:17 »
Цитировать
chakra:
и делаю это стрингом, а не датой. Тогда MySQL сортирует без проблем.

можно поподробнее эту глубокую мысль развить? я не очень уловил насчет стрингов.

Оффлайн chakra

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://bluebirds.ema.lv/
Сортировка по дате
« Ответ #8 : 23 Декабря 2004, 15:50:41 »
варчар...

На яве переписалась, сорри. Дальше, ведь, не надо объяснять?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Сортировка по дате
« Ответ #9 : 23 Декабря 2004, 15:53:39 »
надо-надо!
вот это как раз и надо объяснить.
про проблемы с сортировкой и хранение даты в поле типа варчар.

Оффлайн chakra

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://bluebirds.ema.lv/
Сортировка по дате
« Ответ #10 : 23 Декабря 2004, 16:01:24 »
Может я что-то не поняла, но в базе у меня поле в таблице

my_date varchar (10)

в него пишу всегда дату в формате 2004.12.01

order by my_date

прекрасно все сортируется в нужном порядке

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Сортировка по дате
« Ответ #11 : 23 Декабря 2004, 16:06:07 »
То есть, ты считаешь, что все многообразие форматов даты команда mysql придумала исключительно для собственного развлечения?
А манипуляции над датами (разницу в днях, сложение-вычитание, сравнение и так далее - в общем, все то, что прекрасно делается взапросах с помощью многочисленныхфункций) проще делать на коленке в пхп скрипте?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Сортировка по дате
« Ответ #12 : 23 Декабря 2004, 16:08:29 »
Ты ошибаешься.
В базе есть прекрасные встроенные типы полей, специально придуманные для даты. И именно ими надо пользоваться.
Начиная с того, что стандартное поле занимает меньше места и заканчивая тем, что вчисления, сравнения и группировку можно производить прямо в запросе - для чего, собственно, база и придумана.

Оффлайн chakra

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://bluebirds.ema.lv/
Сортировка по дате
« Ответ #13 : 23 Декабря 2004, 16:14:08 »
RomikChef, ошибаюсь. Я знаю, что мой способ далек от того, как надо программировать, используя все возможности языка. Просто у меня личная нелюбовь к типу даты. Посему так и пишу. Я же не утверждаю, что мой способ самый лучший :) Просто привела пример, как вариант сортировки.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Сортировка по дате
« Ответ #14 : 23 Декабря 2004, 17:23:26 »
Хех.
А зачем приводить неправильное ошибочное мнение как пример?
Если это твои личные заморочки, и ты понимаешь, что это ошибка - зачем другим-то советовать?
И почему ты вообще решила, что речь идет о БД?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28