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 :: Подскажите, пож., как сделать выборку mySQL:

 PHP.SU

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


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

> Описание: WHERE ...
hanns-g
Отправлено: 27 Сентября, 2011 - 21:43:26
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Июнь 2010  


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




Добрый день.
есть БД(таблица) с записями и датой добавления
как выдрать только те записи, которые соответствуют сегодняшнему числу и месяцу
(не зависимо от года и времени)
это должно быть что то типа календаря событий

сделал так:
$d = date(d);
$m = date(m);

$where = 'AND DAYOFYEAR(a.created = '.$d.') AND MONTH(a.created ='.$m.')'

формат даты в таблице: ГГГГ-ММ-ДД ЧЧ-ММ-СС

но оно почему то не работает


вот весь запрос:

PHP:
скопировать код в буфер обмена
  1.  
  2. $query = 'SELECT a.*, ' .
  3.                         ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
  4.                         ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
  5.                         ' FROM #__content AS a' .
  6.                         ($show_front == '0' ? ' LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id' : '') .
  7.                         ' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
  8.                         ' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
  9.                         ' WHERE '. $where .' AND s.id > 0' .
  10.                         ($access ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
  11.                         ($catid ? $catCondition : '').
  12.                         ($secid ? $secCondition : '').
  13.                         ($show_front == '0' ? ' AND f.content_id IS NULL ' : '').
  14.                         ' AND s.published = 1' .
  15.                         ' AND cc.published = 1' .
  16.                         ' ORDER BY '. $ordering;
  17.  


Огромное спасибо!!!
 
 Top
caballero
Отправлено: 27 Сентября, 2011 - 22:33:07
Post Id


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


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


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




DAYOFYEAR - это не сегодняшнее число

судя по названию это номер дня в году


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
garvey
Отправлено: 27 Сентября, 2011 - 22:39:10
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010  
Откуда: Minsk


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




CODE (SQL):
скопировать код в буфер обмена
  1. WHERE DAY(`date_column`) = DAY(NOW()) AND MONTH(`date_column`) = MONTH(NOW())

где date_column - название вашего поля со временем
 
 Top
LIME
Отправлено: 27 Сентября, 2011 - 22:44:07
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




PHP:
скопировать код в буфер обмена
  1. $where = 'AND DAY(a.created) = '.$d.' AND MONTH(a.created )='.$m.

а так?
 
 Top
White
Отправлено: 27 Сентября, 2011 - 22:58:01
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


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




hanns-g пишет:
формат даты в таблице: ГГГГ-ММ-ДД ЧЧ-ММ-СС
а тип столбца какой? если это мускул, то указанный запрос будет работать с DATE, DATETIME, TIMESTAMP, но никак не с char (а в указанных типах формат ГГГГ-ММ-ДД ЧЧ:ММ:СС, согласно UNIX стандартам)


-----
if(time()>1356048000) die();
 
 Top
hanns-g
Отправлено: 27 Сентября, 2011 - 23:27:29
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Июнь 2010  


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




спасибоб за ответ, сейчас попробую
по формату - да, я перепутал, там тип: datetime
ГГГГ-ММ-ДД ЧЧ:ММ:СС
 
 Top
LIME
Отправлено: 27 Сентября, 2011 - 23:33:29
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




.

(Отредактировано автором: 27 Сентября, 2011 - 23:34:52)

 
 Top
hanns-g
Отправлено: 27 Сентября, 2011 - 23:38:17
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Июнь 2010  


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




ОГРОМНОЕ СПАСИБО!!!
РАБОТАЕТ!!!

Прыгаю до потолка

будете в Виннце, маякните, обязательно пивом угощу !!!
у нас тут фонтан красивый построили, говорят один на всю европу
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB