Перейти к содержимому


Выбор даты


Сообщений в теме: 4

#1 TelecomMedia

    Активный участник

  • Пользователи
  • PipPipPip
  • 378 сообщений

Отправлено 30 Июль 2015 - 11:17

22181 - поле "Когда перезвонить"

Как выбрать записи из таблицы с датой в поле 22181 на завтрашний день?

Сейчас имею код:
$result = data_select_field(931, "count(f22451) as cnt_zayav_zv_zavtra", "(date(f22181)  = CURDATE() + 86400) AND status=0 AND (f22081='В работе' OR f22081='Договор') AND f22361=",$line['Пользователь']);

Но получаю в ответ количество, отличающееся (в большую сторону) от данных фильтра: Поиск: поле "Когда перезвонить" с 31.07.2015 00:00 по 31.07.2015 23:59

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 30 Июль 2015 - 12:12

Что-то я не уловил последней фразы, а вам разве не такой результат нужен? "С 31.07.2015 00:00 по 31.07.2015 23:59" - это же и есть завтрашний день на сегодня (30 июля). Или я что-то не так понял?

Вообще, насколько я знаю, в MySQL для арифметических операций с датой используется оператор INTERVAL: http://www.mysql.ru/...functions.html. Про прибавление целого числа секунд первый раз слышу.

#3 TelecomMedia

    Активный участник

  • Пользователи
  • PipPipPip
  • 378 сообщений

Отправлено 30 Июль 2015 - 13:48

"С 31.07.2015 00:00 по 31.07.2015 23:59" -все правильно. Это условия фильтра в таблице, который я задаю вручную.

Попробовал сделать так:
(date(f22181) + INTERVAL 1 DAY)
В итоге получается опять непонятное число, никоим образом несопоставимое у условием "С 31.07.2015 00:00 по 31.07.2015 23:59"

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 30 Июль 2015 - 14:12

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

$result = data_select_field(931, "count(f22451) as cnt_zayav_zv_zavtra", "date(f22181) = curdate() + interval 1 day AND status=0 AND (f22081='В работе' OR f22081='Договор') AND f22361=",$line['Пользователь']);


#5 TelecomMedia

    Активный участник

  • Пользователи
  • PipPipPip
  • 378 сообщений

Отправлено 30 Июль 2015 - 15:03

Спасибо, все получилось)





Количество пользователей, читающих эту тему: 3

0 пользователей, 3 гостей, 0 анонимных