Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Фильтр по двум диапазонам

+11 голос
1
Всем привет.

Подскажите, пожалуйста, как реализовать выбор из инфоблока по двум диапазонам времени. Например за апрель 2012 и за апрель 2013.

Выборку одного диапазона можно сделать так:

    $arNewsFilter = array(
                    array(
                        "LOGIC" => "AND",
                        '<DATE_ACTIVE_FROM' => "31.12.2012",
                        '>DATE_ACTIVE_FROM' => "1.12.2012"
                        )

        );

А для двух диапазонов, например такой вариант не работает:

    $arNewsFilter = array(
                    array(
                        "LOGIC" => "AND",
                        '<DATE_ACTIVE_FROM' => "31.12.2012",
                        '>DATE_ACTIVE_FROM' => "1.12.2012"
                        ),
                    array(
                        "LOGIC" => "AND",
                        '<DATE_ACTIVE_FROM' => "31.12.2013",
                        '>DATE_ACTIVE_FROM' => "1.12.2013"
                    )

        );

 

Такой тоже:

    $arNewsFilter = array(
                    "LOGIC" => "AND",
                    array(
                        "LOGIC" => "AND",
                        '<DATE_ACTIVE_FROM' => "31.12.2012",
                        '>DATE_ACTIVE_FROM' => "1.12.2012"
                        ),
                    array(
                        "LOGIC" => "AND",
                        '<DATE_ACTIVE_FROM' => "31.12.2013",
                        '>DATE_ACTIVE_FROM' => "1.12.2013"
                    )

        );
спросил 15 Янв, 14 от silverspeed (150 баллов)

1 Ответ

00 голосов

$arNewsFilter = array(
                    "LOGIC" => "OR",
                    array(
                        "LOGIC" => "AND",
                        '<DATE_ACTIVE_FROM' => "31.12.2012",
                        '>DATE_ACTIVE_FROM' => "1.12.2012"
                        ),
                    array(
                        "LOGIC" => "AND",
                        '<DATE_ACTIVE_FROM' => "31.12.2013",
                        '>DATE_ACTIVE_FROM' => "1.12.2013"
                    )

        );

ответил 04 Фев, 15 от аноним

Похожие вопросы