Как сделать такую выборку sql?

315
25 мая 2017, 11:51

Делаю афишу(модуль dle 11.3) для сайта надо сделать выборку Есть таблица с полем(диапазон дат формата Y-m-d) xfields по которому надо сделать выборку, надо выбрать новости в диапазон дат которых входит текущая дата + 14 дней

например так

$date_today = date("Y-m-d");
$sql = $db->query("SELECT * FROM " . PREFIX . "_post  WHERE category = '$cat' AND '$date_today'  >= STR_TO_DATE(SUBSTRING_INDEX( SUBSTRING_INDEX( xfields,  'date_from|', -1 ) ,  '||', 1 ), '%Y-%m-%d') AND '$date_today' <= STR_TO_DATE(SUBSTRING_INDEX( SUBSTRING_INDEX( xfields,  'date_to|', -1 ) ,  '||', 1 ), '%Y-%m-%d') ");

я получу новости у которых дата начала раньше текущей, но дата окончания осле текущей,но не получу те у которых начало скажем завтра или послезавтра

а вот так я получу только те у которых будет начало

$date_today_unix - сегодняшняя дата в unix формате

$date_today_14_unix -сегодняшняя дата +14 дней в unix формате

$sql = $db->query("SELECT * FROM " . PREFIX . "_post  WHERE category = '$cat' AND '$date_today_unix'  <= UNIX_TIMESTAMP(SUBSTRING_INDEX( SUBSTRING_INDEX( xfields,  'date_from|', -1 ) ,  '||', 1 )) AND '$date_today_14_unix' >= UNIX_TIMESTAMP(SUBSTRING_INDEX( SUBSTRING_INDEX( xfields,  'date_to|', -1 ) ,  '||', 1 )) ");

Пример поля xfields date_from|2017-05-20||date_to|2017-05-29 или date_from|2017-05-27||date_to|2017-05-28

READ ALSO
Класс Connection. Класс Query. PHP

Класс Connection. Класс Query. PHP

Есть два класса Первый

349
Что это за синтаксис в передаче параметра {{blocks[&ldquo;menu_footer_categories&rdquo;]}}?

Что это за синтаксис в передаче параметра {{blocks[“menu_footer_categories”]}}?

Моя задача сделать микроразметку для сайта, я нашел нужный файл, хочу прописать микроразметку для контактных данных, однако здесь имеется...

204
парсер xml проблема с &lt;&gt; и &amp;

парсер xml проблема с <> и &

при разборе simplexml файла не обрабатываются строки, в которых есть данные заключенные в угловые кавычки (<>) или знак &Подскажите, плиз, как...

251