0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 784 Просмотров
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Выборка новых материалов
« : 24.06.2014, 18:25:13 »
люди добрые подскажите sql запрос что бы в БД отсортировать материалы по дням...

Мне надо вывести результат содержащий только те материалы которые были добавлены сегодня!
...
*

lesh1j

  • Захожу иногда
  • 257
  • 35 / 0
Re: Выборка новых материалов
« Ответ #1 : 24.06.2014, 22:56:30 »
Можно так
Код: php
$date = JFactory::getDate();
$date = $date->format('Y-m-d');

$db = JFactory::getDbo();

$query = $db->getQuery(true);

$query->select('title');
$query->from('#__content');
$query->where('created > "'.$date.' 00:00:00" and created < "'.$date.' 23:59:59"');
$query->order('ordering ASC');

$db->setQuery($query);

$results = $db->loadObjectList();
или так
Код: php
$dateToday = JFactory::getDate();
$dateToday = $dateToday->format('Y-m-d 00:00:00');
$dateTomorrow = JFactory::getDate('+1 day');
$dateTomorrow = $dateTomorrow->format('Y-m-d 00:00:00');

$db = JFactory::getDbo();

$query = $db->getQuery(true);

$query->select('title');
$query->from('#__content');
$query->where('created > "'.$dateToday.'" and created < "'.$dateTomorrow.'"');
$query->order('ordering ASC');

$db->setQuery($query);

$results = $db->loadObjectList();
« Последнее редактирование: 24.06.2014, 23:09:09 от lesh1j »
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Re: Выборка новых материалов
« Ответ #2 : 25.06.2014, 19:15:06 »
может что та я не так делаю но что то не получается... может надо указывать текущую дату!
...
*

lesh1j

  • Захожу иногда
  • 257
  • 35 / 0
Re: Выборка новых материалов
« Ответ #3 : 26.06.2014, 01:00:00 »
а что именно не получается? так мы и указываем текущую дату, в первом случае
Код: php
$date = JFactory::getDate();
$date = $date->format('Y-m-d'); //получаем сегодняшнюю дату в формате 2014-05-26
 
$db = JFactory::getDbo();
 
$query = $db->getQuery(true);
 
$query->select('title');
$query->from('#__content');
// выбираем строки, где дата создания от 2014-05-26 00:00:00 до 2014-05-26 23:59:59
$query->where('created > "'.$date.' 00:00:00" and created < "'.$date.' 23:59:59"');
$query->order('ordering ASC');
 
$db->setQuery($query);
 
$results = $db->loadObjectList();

во втором случае
Код: php
$dateToday = JFactory::getDate();
$dateToday = $dateToday->format('Y-m-d 00:00:00'); //получаем сегодняшнюю дату в формате 2014-05-26 00:00:00
$dateTomorrow = JFactory::getDate('+1 day');
$dateTomorrow = $dateTomorrow->format('Y-m-d 00:00:00'); //получаем завтрашнюю дату в формате 2014-05-27 00:00:00
 
$db = JFactory::getDbo();
 
$query = $db->getQuery(true);
 
$query->select('title');
$query->from('#__content');
// выбираем строки, где дата создания от 2014-05-26 00:00:00 до 2014-05-27 00:00:00
$query->where('created > "'.$dateToday.'" and created < "'.$dateTomorrow.'"');
$query->order('ordering ASC');
 
$db->setQuery($query);
 
$results = $db->loadObjectList();
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Re: Выборка новых материалов
« Ответ #5 : 26.06.2014, 04:47:59 »
Код
[quote author=lesh1j link=topic=296277.msg1471113#msg1471113 date=1403730000]
так мы и указываем текущую дату, в первом случае
[/quote]

боюсь в этом то и проблема, я был уверен что надо куда то вписывать дату... Так вот я не знаю как ее получить...
...
*

lesh1j

  • Захожу иногда
  • 257
  • 35 / 0
Re: Выборка новых материалов
« Ответ #6 : 26.06.2014, 12:16:57 »
боюсь в этом то и проблема, я был уверен что надо куда то вписывать дату... Так вот я не знаю как ее получить...
ну так вот, первые четыре строки мы получаем сегодняшнюю и завтрашнюю даты в формате YYYY-MM-DD 00:00:00
Код: php
$dateToday = JFactory::getDate();
$dateToday = $dateToday->format('Y-m-d 00:00:00'); //получаем сегодняшнюю дату в формате 2014-05-26 00:00:00
$dateTomorrow = JFactory::getDate('+1 day');
$dateTomorrow = $dateTomorrow->format('Y-m-d 00:00:00'); //получаем завтрашнюю дату в формате 2014-05-27 00:00:00
Цитировать
По выборке по промежуткам дат стоит использовать BETWEEN
да, тогда потом в запросе выбираем записи, на сегодня, например это будет от 2014-05-26 00:00:00 до 2014-05-27 00:00:00
Код: php
$query->select('title');
$query->from('#__content');
// выбираем строки, где дата создания от 2014-05-26 00:00:00 до 2014-05-27 00:00:00
$query->where("created between '".$dateToday."' AND '".$dateTomorrow."'");
$query->order('ordering ASC');
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с редактированием материалов

Автор olesya

Ответов: 15
Просмотров: 2234
Последний ответ 12.07.2020, 12:46:06
от NataliS
Вывод контента com_content материалов и категорий по id. Решение

Автор Fedor Vlasenko

Ответов: 16
Просмотров: 20920
Последний ответ 01.10.2018, 14:32:38
от Fedor Vlasenko
Вывод определенных материалов на главной

Автор JustRe1ax

Ответов: 4
Просмотров: 1314
Последний ответ 08.12.2017, 11:21:47
от JustRe1ax
404 только для новых материалов

Автор D.E.

Ответов: 6
Просмотров: 1808
Последний ответ 25.11.2017, 09:25:39
от G_islam05
Обновление размера картинок материалов тэгов к2

Автор JustRe1ax

Ответов: 0
Просмотров: 1089
Последний ответ 04.10.2017, 15:59:47
от JustRe1ax