Цитата |
---|
Рамиль Миннигалиев пишет: $ItemsList = CIBlockElement::GetList($arOrder,$arFilter,$arGroupBy,$arNavStartParams,$arSelectedFields);while($Items = $ItemsList->GetNextElement()) { $arItems[] = Array( "INGREDIENTS"=>$Items->GetProperty("INGREDIENTS"), "SEC_SITE"=>$Items->GetProperty("SEC_SITE"), "CML2_TRAITS"=>$Items->GetProperty("CML2_TRAITS"),);} |
Время выполнения будет расти пропорционально увеличению количества элементов. К тому же выборка будет содержать и неактивные элементы. Оно Вам надо?
Цитата |
---|
Рамиль Миннигалиев пишет: foreach ($arItems as $Items) :$prop_ing = $Items["INGREDIENTS"];$prop_sec = $Items["SEC_SITE"];for ($i=0;$i<count($arSections);$i++) : if(($prop_ing["VALUE_XML_ID"]==$_REQUEST["ING"])&&(in_array($arSections[$i]['ID'],$prop_sec['VALUE']))) $arSections[$i]["EL_CNT"]++;endfor; |
Представим, что у Вас 1000 элементов. И хотя бы 30 секций. внутренний цикл выполнится 30 тыс. раз. Про то, что функцию count Вы вызываете на КАЖДОЙ итерации вместо 1 вызова на цикл, я молчу.
Цитата |
---|
Рамиль Миннигалиев пишет: function strtolower_cyr() function strtoupper_cyr() |
Есть встроенные в php функции.
Цитата |
---|
Рамиль Миннигалиев пишет: function t_text($s) { return strtoupper_cyr($s[0]).strtolower_cyr(substr($s,1)); } |
Нерационально.
Цитата |
---|
Рамиль Миннигалиев пишет: $step = 10; $page = isset($_REQUEST['PAGE'])?$_REQUEST['PAGE']:1; $num_page = round(count($arResult['ITEMS'])/$step); if ($num_page > 1) : for($i=1; $i <= $num_page; $i++) :?> [url=?SECTION_ID=<?=$_REQUEST[]&ING=<?=$_REQUEST['ING']?>&PAGE=<?=$i?><?= isset($_REQUEST['BY_NOMEN'])?"&BY_NOMEN":false; ?>'><?= $i==$page?"<span style='font-size:200%'>".$i."</span>":$i; ?>[/url] <? endfor; endif; |
Рамиль, я правильно понимаю, что это эмуляция постранички?