[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помощь по условию
OrlenkoKN
помогите пожалуйста разобраться.

я ООП начал только изучать, потому и торможу..
так вот в чём задача, есть выборка из БД, в ней условия прописаны в виде массива:

		$date = date("Y-m-d");
//WHERE
$arFilter = array (
"IBLOCK_ID" => $arResult["ID"],
"ACTIVE" => "Y",
"ACTIVE_DATE" => "Y",
"CHECK_PERMISSIONS" => "Y",
">=PROPERTY_BEGINDATE" => $date,
"<=PROPERTY_BURNDATE" => $date,
);


Дело в чём
у меня есть список мероприятий, я вывожу на главную последние 3-5 из существующих, при этом мероприятия должны выводится по следующим условиям:
мероприятие должно быть > $date
мероприятие должно входить в отрезок
$date >= PROPERTY_BEGINDATE AND $date =< PROPERTY_BURNDATE
где: PROPERTY_BEGINDATE - дата начала вывода на главной (задаётся пользователем при вводе поста)
PROPERTY_BURNDATE - дата окончания вывода на главной.
то есть я могу написать пост и задать ему дату вывода на главной, например на завтра и чтобы через 3 дня оно скрылось..
Запарился я, собственно, с условием, которое представлено в виде массива. По логике получается, что мне нужно примерно такое условие:

		$date = date("Y-m-d");
//WHERE
$arFilter = array (
"IBLOCK_ID" => $arResult["ID"],
"ACTIVE" => "Y",
"ACTIVE_DATE" => "Y",
"CHECK_PERMISSIONS" => "Y",
$date => ">=PROPERTY_BEGINDATE",
$date => "<=PROPERTY_BURNDATE",
);

то есть таким образом, чтобы $date оказалось между двух PROPERTY_BEGINDATE и PROPERTY_BURNDATE

Данный отрезок не выполняется, явно я ошибаюсь, то есть условия с датами просто игнорятся.

Как мне корректно задать условия для верного отображения данных?

Заранее благодарю за любые подсказки



Спустя 1 час, 27 минут, 34 секунды (19.03.2010 - 10:25) Oyeme написал(а):
Причём тут ООП?

Посмотри как раскидывается массив.
Выведи полностью sql.


Подвавть ввиде такого массива не очень удобно.
Как ты пропишешь OR ?

Вот библиотка PEAR для этого более удобна.

Спустя 1 час, 7 минут, 9 секунд (19.03.2010 - 11:33) OrlenkoKN написал(а):
и правда.. причём тут ООП? o_O
вступил чего-то..

я просто компонент битрикса редактирую, вот и разбираюсь с кодом.. зачем мне OR? Если б написать обычным запросом, то вышло бы что-то типа:
SELECT * FROM table 
WHERE

$date => 'PROPERTY_BEGINDATE'
AND
$date <= 'PROPERTY_BURNDATE'


и получилось бы всё замечательно..
а тут действительно неудобно

Спустя 17 минут, 23 секунды (19.03.2010 - 11:50) Oyeme написал(а):
OR - тебе тут не надо,это для примера.

ТЫ подал массивом условие ,теперь выведи полностью sql с подставленными данными.Простым echo.

Сразу будет понятно, как он подставляется.ТАк тебе будет удобно его прописать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.