Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Выборка по условию ...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
armancho7777777 Супермодератор
Отправлено: 12 Июня, 2012 - 17:09:22
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Всем привет!
Как правильно сделать выборку?
PHP:
скопировать код в буфер обмена
  1.  
  2. SELECT `date`
  3.  FROM `visits`
  4. WHERE `date`+(60*60*24) < '".(mktime() + 60*60*24)."'
  5. ");
  6.  


Поле `date` хранит значение mktime().
Из примеры думаю видно что я пытаюсь сделать.
Как правильно это сделать?

(Отредактировано автором: 12 Июня, 2012 - 17:10:15)

 
 Top
Panoptik
Отправлено: 12 Июня, 2012 - 17:40:04
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




вообще в mysql есть много полезных встроенных функций для работы с датами и хранить время в числовом виде не очень хорошо. Но если хранить в формате TIMESTAMP, DATETIME то перед вами откроется много возможностей

http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]e-functions[dot]html

более подробный ответ только после четкого освещения задачи и описания типа поля date


-----
Just do it
 
 Top
Мелкий Супермодератор
Отправлено: 12 Июня, 2012 - 18:26:09
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




armancho7777777 пишет:
Из примеры думаю видно что я пытаюсь сделать.

Не совсем. Зачем к каждой части условия сутки прибавляете?


-----
PostgreSQL DBA
 
 Top
kappa
Отправлено: 12 Июня, 2012 - 20:33:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 349
Дата рег-ции: Апр. 2011  


Помог: 3 раз(а)




И еще BETWEEN(), NOW()
 
 Top
armancho7777777 Супермодератор
Отправлено: 13 Июня, 2012 - 04:20:14
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Мелкий пишет:
armancho7777777 пишет:
Из примеры думаю видно что я пытаюсь сделать.

Не совсем. Зачем к каждой части условия сутки прибавляете?

Блин, точнее я имел ввиду это
PHP:
скопировать код в буфер обмена
  1. ...AND `date`+(60*60*24)  <  '".mktime()."'...

но с недосыпу всё не мог решить задачу, а надо было сделать так:
PHP:
скопировать код в буфер обмена
  1. AND `date`   >  '".(mktime() - 60*60*24)."'

Задача была вытащить запись что была днём раннее.

Panoptik пишет:
Но если хранить в формате TIMESTAMP, DATETIME

Они хранятся в таком виде: хххх-хх-хх хх:хх:хх, что для меня не совсем удобно.
Но если просветите меня в чём я ошибаюсь, буду признателен.
В моём примере была задача вытащить запись что была днём раннее.
Мне кажется: формат mktime() удобнее для работы.
(Добавление)
Panoptik пишет:
описания типа поля date

bigint

(Отредактировано автором: 13 Июня, 2012 - 04:38:02)

 
 Top
DeepVarvar Супермодератор
Отправлено: 13 Июня, 2012 - 09:54:33
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




armancho7777777 пишет:
Они хранятся в таком виде: хххх-хх-хх хх:хх:хх

CODE (SQL):
скопировать код в буфер обмена
  1.  ... WHERE `date` > NOW() + INTERVAL 1 DAY
 
 Top
armancho7777777 Супермодератор
Отправлено: 13 Июня, 2012 - 09:55:56
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Спасибо DeepVarvar!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB