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

Группировка новостей, ПОМОГИТЕ!

00 голосов
3
Добрый День уважаемые программисты!

Помогите новичку!
Как мне вывести новости таким образом не используя компоненты, то есть я делаю запросом:
Пример:
12.08.2011
Название новости1
Название новости2
11.08.2011
Название новости1
10.08.2011
Название новости1
Название новости2
Название новости3

То есть необходимо сделать чтобы запрос группировал значения, к примеру в дате 12.08.2011 2 новости, их и выводил

вот мой запрос:
Код
$arFilter = Array(
               "SITE_ID"=>SITE_ID,
               "IBLOCK_TYPE"=>"news",
               "SECTION_ID"=> array($ID_SECTION),
               "ACTIVE"=>"Y",
               "ACTIVE_DATE"=>"Y",
            );               
               $res = CIBlockElement::GetList(Array("DATE_ACTIVE_FROM"=>"DESC"), $arFilter, false, $cnt_pagesize);
                  while($ar_fields = $res->GetNext())
                     {
                        $LastCreateDate = '';
                        $CreateDate = $ar_fields["ACTIVE_FROM"];
                        if($LastCreateDate != $CreateDate)
                        {
                           $LastCreateDate = $CreateDate;
      
                        echo js_write('<div><span>'.substr($ar_fields["ACTIVE_FROM"],0, 10).'</span><br /><ul><li><a href="'.$ar_fields["DETAIL_PAGE_URL"].'" >'.substr($ar_fields["NAME"], 0, $end).'</a></li></ul></div>');echo '<br>';   
                        }
                     
                     }

Подскажите что тут надо сделать!?
спросил 24 Фев, 14 от Chemikals (840 баллов)

3 Ответы

00 голосов
А зачем группировать-то? Достаточно отсортировать по дате и в цикле дату хранить в переменной. Совпадает с новостью - ничего не пишет, не совпадает - пишем дату и обновляем переменную. Хоть в шаблоне компонента, хоть в своем коде.
ответил 28 Июль, 14 от Pomnep (13,960 баллов)
00 голосов
Евгений, можете пример привести на моем коде, а то непонятно :(
Заранее очень благодарен!
ответил 30 Ноя, 14 от Chemikals (840 баллов)
00 голосов
Код
$LastCreateDate = '';
while($ar_fields = $res->GetNext())
        {
                        $CreateDate = $ar_fields["ACTIVE_FROM"];
                        if($LastCreateDate != $CreateDate)
                        {
                           $LastCreateDate = $CreateDate;
                           echo $LastCreateDate.'<br />';
  }
echo '<a href="'.$ar_fields["DETAIL_PAGE_URL"].'" >'.$ar_fields["NAME"].'</a><br />';
                      } 
ответил 25 Март, 15 от Pomnep (13,960 баллов)

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

0 голосов
0 ответов
0 голосов
2 ответов
спросил 27 Апр, 14 от VINCHENSO (100 баллов)
0 голосов
5 ответов
спросил 08 Ноя, 13 от vitar (100 баллов)
0 голосов
0 ответов
спросил 23 Авг, 13 от Svitoi (120 баллов)
0 голосов
0 ответов
спросил 04 Март, 16 от аноним