@D06erman

При постраничном выводе массива на каждой странице выходит только одна строка. Как сделать, что бы на одной странице выводилось по 20-50 строк?

Добрый день. На сайте mtk42.ru реализован поиск по ФИО, номеру, марке машины!
Если ввести на странице https://mtk42.ru/ru/transport/taksi/ в строку поиска допустим TOYOTA COROLLA. То выходит таблица с постраничной отбивкой, но на одной странице выходит только одна строка вместо 20. Стоит параметр "nPageSize" => 20). Может быть кто-то подскажет как можно это исправить.

Сам код :
<?
$s3= $_REQUEST["nn3"];
$s7= $_REQUEST["nn7"];
$s8= $_REQUEST["nn8"];
$s20= $_REQUEST["nn20"];
$s9= $_REQUEST["nn3_nn7_nn8_nn20"];
if($s9):
$arSelect = array("ID", "PROPERTY_s3");
$arrFilter = Array("IBLOCK_ID" => "225", "?PROPERTY_s3"=>$s9,"ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array("ID" => "ASC"), $arrFilter, false, Array("nPageSize" => 20), $arSelect);
while ($arfields = $res->GetNextElement()):
$ar_fields = $arfields->GetFields();
if($ar_fields["PROPERTY_S3_VALUE"]){
$s3=$s9;
}
endwhile;

$arSelect = array("ID", "PROPERTY_s8");
$arrFilter = Array("IBLOCK_ID" => "225", "?PROPERTY_s8"=>$s9,"ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array("ID" => "ASC"), $arrFilter, false, Array("nPageSize" => 20), $arSelect);
while ($arfields = $res->GetNextElement()):
$ar_fields = $arfields->GetFields();
if($ar_fields["PROPERTY_S8_VALUE"]){
$s8=$s9;
}
endwhile;
if(!$s8){
$arSelect = array("ID", "PROPERTY_s7");
$arrFilter = Array("IBLOCK_ID" => "225", "?PROPERTY_s7"=>$s9,"ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array("ID" => "ASC"), $arrFilter, false, Array("nPageSize" => 20), $arSelect);
while ($arfields = $res->GetNextElement()):
$ar_fields = $arfields->GetFields();
if($ar_fields["PROPERTY_S7_VALUE"]){
$s7=$s9;
}
endwhile;
}

$arSelect = array("ID", "PROPERTY_s20");
$arrFilter = Array("IBLOCK_ID" => "225", "?PROPERTY_s20"=>$s9,"ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array("ID" => "ASC"), $arrFilter, false, Array("nPageSize" => 20), $arSelect);
while ($arfields = $res->GetNextElement()):
$ar_fields = $arfields->GetFields();
if($ar_fields["PROPERTY_S20_VALUE"]){
$s20=$s9;
}
endwhile;
endif;
?> <?
$arSelect = array("ID", "NAME", "IBLOCK_ID");
$arrFilter = Array("IBLOCK_ID" => "225", "?PROPERTY_s3"=>$s3,"ACTIVE"=>"Y", "?PROPERTY_s7"=>$s7,"?PROPERTY_s8"=>$s8, "?PROPERTY_s20"=>$s20);
$res = CIBlockElement::GetList(Array("ID" => "ASC"), $arrFilter, false, Array("nPageSize" => 20, "bShowAll" => false), $arSelect);
while ($arfields = $res->GetNextElement()):
$ar_fields = $arfields->GetFields();
$arProperty = $arfields->GetProperties();
?><?endwhile?>

Порядковый регистрационый номер

Дата регистрации, в том числе юридического лица,индивидуального предпринимателя

Полное (сокращенное) фирменное наименование и организационно-правовая форма юридического лица, ФИО индивидуального предпринимателя

Государственный регистрационный номер записи о создании юридического лица, о государственной регистрации индивидуального предпринимателя

Номер и дата выдачи разрешения, срок действия разрешения

Марка, модель и государственный регистрационный знак транспортного средства

Номер и дата выдачи дубликата разрешения

Номер и дата переоформления разрешения

Основание и дата прекращения действия разрешения

Дата, реквизиты предписания об устранении выявленных нарушений

Основание и дата решения о приостановлении действия разрешения, его реквизиты

Основание и дата решения о возобновлении действия разрешения, его реквизиты

Основание и дата решения о продлении разрешения, его реквизиты

Основание и дата решения суда об отзыве (аннулировании) разрешения, его реквизиты

Примечание

Муниципальное образование

<?=$ar_fields["NAME"]?>

<?=$arProperty["s2"]["VALUE"]?>

<?=$arProperty["s3"]["VALUE"]?>

<?=$arProperty["s5"]["VALUE"]?>

<?=$arProperty["s7"]["VALUE"]?>

<?=$arProperty["s8"]["VALUE"]?>

<?=$arProperty["s9"]["VALUE"]?>

<?=$arProperty["s10"]["VALUE"]?>

<?=$arProperty["s11"]["VALUE"]?>

<?=$arProperty["s13"]["VALUE"]?>

<?=$arProperty["s14"]["VALUE"]?>

<?=$arProperty["s15"]["VALUE"]?>

<?=$arProperty["s16"]["VALUE"]?>

<?=$arProperty["s18"]["VALUE"]?>

<?=$arProperty["s19"]["VALUE"]?>

<?=$arProperty["s20"]["VALUE"]?>

<?global $navComponentObject;?>
<?$res->NavPrint("Строки")?>

НА странице вывода показывает что 20 строк, а выводит только одну.
61ee0975b484d049539881.jpeg
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 1
Real_Fermer
@Real_Fermer
Программист PHP
while ($arfields = $res->GetNextElement()):
$ar_fields = $arfields->GetFields();

Похоже ты не сохраняешь данные в массив.
и в переменную $ar_fields у тебя записывается последнее значение из выборки. вот и выводится только 1 элемент.
замени на
$ar_fields[] = $arfields->GetFields();
Ответ написан
Ваш ответ на вопрос

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

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