@anton99zel
29а класс средней школы №7

Как вывести количество элементов в каждой категории?

<?
if (CModule::IncludeModule("iblock")):
$iblock_id = 8;
$my_slider = CIBlockElement::GetList (
Array("CATALOG_QUANTITY" => "ASC"),
Array('ACTIVE' => 'Y', "IBLOCK_ID" => $iblock_id, 
"SECTION_ID" => 2170, "INCLUDE_SUBSECTIONS" => "Y",
">=CATALOG_QUANTITY" => 1,
"!PROPERTY_SERIAL_VALUE" => false,
"!PROPERTY_MAIN_NAME_VALUE" => false,
),
false,
false,
Array(
'NAME',
'CATALOG_PRICE_1',
'CATALOG_GROUP_1',
'CATALOG_QUANTITY',
'PROPERTY_SERIAL',
'PROPERTY_MAIN_NAME',
)
);
$serialValues=array();
$mainValues=array();
while($ar_fields = $my_slider->GetNext())
{
$serialValues[] = $ar_fields['PROPERTY_SERIAL_VALUE'];
$mainValues[] = $ar_fields['PROPERTY_MAIN_NAME_VALUE'];
}
foreach(array_unique($serialValues) as $valueS){
echo "<br>$valueS";
}
$counter = 0; 
foreach(array_unique($mainValues) as $valueM){
echo "<br>$valueM";
$counter++; 
}
echo $counter; 
endif;?>

$valueS выведет пять уникальных категорий
$valueM выведет 79 уникальных имен
Нужно напротив каждой категории $valueS вывести количество уникальных имен $valueM (элементов), входящих в эту категорию.
Не знаю правильно ли сформулировал.

Сейчас на экране примерно так:
LG
Samsung
Sony
Panasonic
Mistery
--5--
Модель 3302 LG
Модель 6474 Sony
Модель 6322 LG
Модель 4305 Samsung
Модель 6444 Sony
Модель 6742 LG
Модель 1111 Mistery
Модель 2224 Sony
Модель 9090 LG....
--79--

А надо так:

LG - всего 19
Samsung - всего 2
Sony - всего 20
Panasonic - всего 11
Mistery - всего 27

Итого 79 из 5 категорий
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 1
@ZZiliST
Изучаю JS, CSS, HTML, PHP
А что мешает сделать так?
foreach(array_unique($serialValues) as $valueS){
echo $valueS;
echo " - ";
echo count($valueS);
echo "<br>"
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы