Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

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

SimonovSergey

  • Захожу иногда
  • 55
  • 0 / 0
Фильтр по дате
« : 06.07.2015, 12:01:59 »
Добрый день!
Хочу сделать фильтр по дате!
Написал запрос:
$dateFilterOUT = strtotime($dateFilterOUT);
$data_array = $db->setQuery("SELECT * FROM #__sr_reservations WHERE (created_by = $userid) AND (created_date >= $dateFilterIn) ORDER BY ID DESC")->loadObjectList();

Есть дата 07.06.2015
$dateFilterOUT = 07.06.2015
я преобразую в формат даты
$dateFilterOUT = strtotime($dateFilterOUT);
Далее хочу получить все записи у которых поле created_date (в формате datetime) выше данной даты. Но ничего не происходит выдаются данные за весь период. Подскажите, я не профессионал, в чем может быть проблема?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: Фильтр по дате
« Ответ #1 : 06.07.2015, 12:18:47 »
1. Вы пробовали сделать echo текста вашего запроса?
2. В created_date  дата хранится в UNIX формате или все же формат даты: ГГГГ-ММ-ДД ЧЧ:ММ:СС? если в том что я написал то вы пытаетесь сравнить юникс дату с обычной, а юникс дата это просто число например текущее время это такая цифра - 1436174274 )!
*

SimonovSergey

  • Захожу иногда
  • 55
  • 0 / 0
Re: Фильтр по дате
« Ответ #2 : 06.07.2015, 12:36:09 »
В created_date  дата хранится в 0000-00-00 00:00:00. Я так понимаю $dateFilterOUT в UNIX формате, т.е. мне нужно перевести created_date в UNIX?
*

SimonovSergey

  • Захожу иногда
  • 55
  • 0 / 0
Re: Фильтр по дате
« Ответ #3 : 06.07.2015, 12:46:03 »
Сделал следующее:
$dateFilterIn = date("Y-m-d H:i:s", strtotime($dateFilterIn));

Но тогда выдает ошибку:
#1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '00:00:00) ORDER BY ID DESC' at line 1 SQL=SELECT * FROM gx26f_sr_reservations WHERE (created_by = 321) AND (created_date >= 2015-06-07 00:00:00) ORDER BY ID DESC
*

SimonovSergey

  • Захожу иногда
  • 55
  • 0 / 0
Re: Фильтр по дате
« Ответ #4 : 06.07.2015, 12:49:45 »
echo делал.
Значит если без сравнения дат, то выдает полную таблицу за весь период
Вставляю сравнение дат, опять выдает всю таблицу за полный период
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Фильтр по дате
« Ответ #5 : 06.07.2015, 12:50:41 »
сделайте экранирование кавычек в запросе
Код: php
$data_array = $db->setQuery("SELECT * FROM #__sr_reservations WHERE (created_by = $userid) AND (created_date >= mysql_real_escape_string($dateFilterIn)) ORDER BY ID DESC")->loadObjectList();
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Фильтр по дате
« Ответ #6 : 06.07.2015, 13:04:22 »
Где инициализация $dateFilterIn? С чем сравниваете?
*

SimonovSergey

  • Захожу иногда
  • 55
  • 0 / 0
Re: Фильтр по дате
« Ответ #7 : 06.07.2015, 13:20:07 »
 
$dateFilterIn = strtotime($dateFilterIn);
$data_array = $db->setQuery("SELECT * FROM #__sr_reservations WHERE (created_by = $userid) AND (created_date >= mysql_real_escape_string($dateFilterIn)) ORDER BY ID DESC")->loadObjectList();

выдает ошибку:
#1305 FUNCTION bron.mysql_real_escape_string does not exist SQL=SELECT * FROM gx26f_sr_reservations WHERE (created_by = 321) AND (created_date >= mysql_real_escape_string(1430168400)) ORDER BY ID DESC

Если
$dateFilterIn = date("Y-m-d h:i:s", strtotime($dateFilterIn));
$data_array = $db->setQuery("SELECT * FROM #__sr_reservations WHERE (created_by = $userid) AND (created_date >= mysql_real_escape_string($dateFilterIn)) ORDER BY ID DESC")->loadObjectList();

выдает ошибку:
#1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '12:00:00)) ORDER BY ID DESC' at line 1 SQL=SELECT * FROM gx26f_sr_reservations WHERE (created_by = 321) AND (created_date >= mysql_real_escape_string(2015-03-30 12:00:00)) ORDER BY ID DESC
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Фильтр по дате
« Ответ #8 : 06.07.2015, 13:45:22 »
Ну так попробуйте.
Код: php
$dateFilterOUT = '07.06.2015';		
$dateFilterOUT = JFactory::getDate($dateFilterOUT);
$data_array = $db->setQuery("SELECT * FROM  #__sr_reservations WHERE (created_by = ".$userid.") AND (created_date >= CONVERT('".$dateFilterOUT->date."', DATETIME)) ORDER BY ID DESC")->loadObjectList();
var_dump($data_array);
*

SimonovSergey

  • Захожу иногда
  • 55
  • 0 / 0
Re: Фильтр по дате
« Ответ #9 : 06.07.2015, 14:12:44 »
Выдает ошибку, скорее всего что-то не нравится с кавычками, но попробовал разные варианты -  все равно ошибка... Так не хочется IF использовать... :(
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Фильтр по дате
« Ответ #10 : 06.07.2015, 14:21:59 »
Код: php-brief
$dateFilterIn=date('Y-m-d H:i:s',strtotime($dateFilterIn));
$data_array=$db->setQuery('SELECT * FROM #__sr_reservations WHERE (created_by="'.$userid.'") AND (created_date>="'.$dateFilterIn.'") ORDER BY ID DESC')->loadObjectList();
Не будь паразитом, сделай что-нибудь самостоятельно!
*

SimonovSergey

  • Захожу иногда
  • 55
  • 0 / 0
Re: Фильтр по дате
« Ответ #11 : 06.07.2015, 14:31:29 »
Всем спасибо! Разобрался, просто ступил!
в запросе надо было '$dateFilterIn' в кавычки поставить...
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Фильтр по дате
« Ответ #12 : 07.07.2015, 00:12:10 »
а я ведь еде давно говорил про кавычки, это первый момент, о котором надо думать при запросах
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[решено] Использование model - setState для фильтра по дате

Автор effrit

Ответов: 8
Просмотров: 2175
Последний ответ 13.10.2018, 19:13:49
от effrit
Сделать фильтр статей для модуля последние новости

Автор voron121

Ответов: 8
Просмотров: 2183
Последний ответ 27.10.2015, 10:03:17
от Aleks.Denezh
Написать фильтр материалов

Автор Mick_20

Ответов: 2
Просмотров: 1934
Последний ответ 15.07.2014, 12:40:21
от Mick_20