Foren / National / Russian / Тех. поддержка / Даты до 1970 года

Boss
#1 24. Juni 2009, 12:45
Как известно LDU/SEDITIO/COTONTI использует для хранения дат timestamp. В целом мне этот формат нравится. Он удобен в работе. Однако есть проблема. Я не могу произвести выборку пользователей из базы по дате рождения, если эта дата ранее 1970 года.

$hw_sql = sed_sql_query("select user_id, user_name from $db_users where user_maingrp > 3 and from_unixtime(user_birthdate, '%m-%d') = '".date("m-d", time())."'");

Данный код отлично работает с пользователями у которых день рождения после 1970 года. Для остальных пользователей user_birthdate < 0 и таковые просто игнорируются.

Встречал в сети два совета на этот счет:
1) хранить даты в явном виде.
2) производить отбор записей с нужными датами средствами PHP.

Сами понимаете, что оба решения не очень хорошие. Что можно сделать еще?
Sergeich
#2 24. Juni 2009, 22:38
тут где-то кто-то предлагал сменить формат даты. Лично я за :)
Boss
#3 25. Juni 2009, 11:49
Плагин тут на сайте заметил cot-bdaycards-0.3_5.rar Там именно PHP выборка реализована. Не я один значит на эти грабли наступал. :-)
Альф
#4 18. November 2009, 00:59
Про это писали и наверное оно где-то есть, но не нашел, извините. У меня на сайте всем по 9 лет. Дата рождения не изменяется в профиле - 30 ноября 1999 года. Как лечить? Тут написано, что Fixed in r883, though it won't correct birthdates for users who have already registered. Но такого фикса в движке не нашел... (((( Помогите вылечить.
Trustmaster
#5 18. November 2009, 15:22
Обычно такое бывает, когда при апгрейде с 0.0.5 на 0.0.6 забывают выполнить один пункт инструкции по обновлению:
Copy sql/patch-0.0.6.txt, save it in your site root as patch.php, run in web browser like http://your-domain.tld/patch.php and then remove patch.php from your site.
May the Source be with you!
Oughtem
#6 23. Juli 2010, 00:07
Если не сделал этого и только потом после patch-0.6.2-0.6.3.sql запускаешь patch.php, то уже не помогает( Как быть в этом случае?

и когда его запускать надо: после patch-0.0.5-0.0.6.sql или после patch-0.0.6-0.6.1.sql ?

Dieser Beitrag wurde von Oughtem (am 23. Juli 2010, 00:49, vor 14 Jahre) bearbeitet