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]   

> Без описания
Paulbreaks
Отправлено: 27 Июля, 2014 - 21:54:18
Post Id


Новичок


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


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




Друзья я начинающий, пожалуйста помогите со следующим вопросом:
Мне нужно вывести новости за определенный промежуток времени, к примеру за неделю,
но проблема в том что в поле `data` дата пишется в формате d.m.y
тоесть 27.07.14
Перерыл весь интернет, но так и не врублюсь как сделать правильно запрос
вот так не работает:
SELECT * FROM `news` WHERE `date`>='20.07.14' and `date`<='27.07.14';

Пожалуйста подскажите как правильно. Заранее всем спасибо!
 
 Top
DelphinPRO
Отправлено: 27 Июля, 2014 - 22:29:08
Post Id



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


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




CODE (SQL):
скопировать код в буфер обмена
  1. WHERE date > NOW() - INTERVAL 1 WEEK


при условии, что поле date в БД правильного типа DATE или DATETIME


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Paulbreaks
Отправлено: 27 Июля, 2014 - 22:32:13
Post Id


Новичок


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


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




DelphinPRO пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. WHERE date > NOW() - INTERVAL 1 WEEK


при условии, что поле date в БД правильного типа DATE или DATETIME


В том то и дело что тип varchar
 
 Top
Sail
Отправлено: 28 Июля, 2014 - 09:04:47
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


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




Paulbreaks пишет:
В том то и дело что тип varchar

В mysql есть функции для работы со строками. Например:
Цитата:
SUBSTRING_INDEX(str,delim,count)
Возвращает подстроку из строки str перед появлениям count вхождений разделителя delim. Если count положителен, то возвращается все, что находится слева от последнего разделителя (считая слева). Если count отрицателен, то возвращается все, что находится справа от последнего разделителя (считая справа):
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
-> 'www.mysql'

mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
-> 'mysql.com'
Данная функция поддерживает многобайтные величины.

Но всё-таки, быть может, в той таблице среди других полей есть нормальная дата (или unixtimestamp) создания новости?
И если нет, то стоит оценить возможность изменения структуры таблицы и сопутствующих скриптов...
 
 Top
DelphinPRO
Отправлено: 28 Июля, 2014 - 09:29:11
Post Id



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


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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





Paulbreaks пишет:
В том то и дело что тип varchar

Сначала создаем себе проблемы, потом героически их решаем Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Paulbreaks
Отправлено: 28 Июля, 2014 - 11:18:40
Post Id


Новичок


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


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




Всем спасибо, вопрос решен.
 
 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