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

Выборка первого элемента (API)

00 голосов
6
Выбираю элементы некого инфоблока
Код
<?
$arFilter = Array(
   "IBLOCK_ID"=>IntVal(11), 
   ">DATE_ACTIVE_FROM"=>date($DB->DateFormatToPHP(CLang::GetDateFormat("SHORT")), time()), 
   "ACTIVE"=>"Y", 
   );
$res = CIBlockElement::GetList(Array("ID"=>"ASC", "PROPERTY_PRIORITY"=>"ASC"), $arFilter, Array("IBLOCK_SECTION_ID","NAME", "DATE_ACTIVE_FROM"));
while($ar_fields = $res->GetNext())
{
  echo $ar_fields["DATE_ACTIVE_FROM"].": ".$ar_fields["NAME"]." ".$ar_fields["IBLOCK_SECTION_ID"]."<br>";
}
?>

Как сделать, сделать, чтобы на печать выводился только первый элемент, а не все найденные элементы?
спросил 12 Окт, 13 от Asteria (1,840 баллов)

6 Ответы

00 голосов
Например так:

Array("nPageSize"=>1)

На самом деле есть много способов и все зависит от задач.
ответил 01 Ноя, 13 от AngryKid (420 баллов)
00 голосов
можно еще так:
Цитата
if ($ar_fields = $res->GetNext())
{
echo $ar_fields["DATE_ACTIVE_FROM"].": ".$ar_fields["NAME"]." ".$ar_fields["IBLOCK_SECTION_ID"]."<br>";
}


и на вывод пойдут параметры только 1 элемента, если он есть. ;)

P.S. Гуру поправьте меня, если я не прав... я ведь только учусь :oops:
ответил 06 Фев, 14 от BlackRa (100 баллов)
00 голосов
Цитата
Андрей Тихомиров пишет:
и на вывод пойдут параметры только 1 элемента, если он есть.
Да, это так. Но дёргаться из таблицы будут все элементы, которые попадают под условие фильтра.
А в случае, который предложил Uran, будет выбираться из таблицы 1 элемент.
Экономия, так сказать, ресурсов ;)
ответил 26 Май, 14 от sickmind (4,660 баллов)
00 голосов
Цитата
Uran пишет:
Например так:

Array("nPageSize"=>1)

На самом деле есть много способов и все зависит от задач.

Это куда вставить? В $ar_Filter?
ответил 22 Сен, 14 от Asteria (1,840 баллов)
00 голосов
Цитата
Александр Черкасов пишет:
....
Экономия, так сказать, ресурсов ;)


Согласен. ;)
ответил 26 Янв, 15 от BlackRa (100 баллов)
00 голосов
Цитата
Юрий Шубин пишет:
Это куда вставить?
Передать функции в качестве четвёртого параметра: http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php
ответил 10 Май, 15 от sickmind (4,660 баллов)

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

0 голосов
3 ответов
0 голосов
2 ответов
0 голосов
4 ответов
спросил 25 Янв, 14 от Lata (220 баллов)
0 голосов
6 ответов
спросил 21 Сен, 13 от Exet (380 баллов)
0 голосов
0 ответов
спросил 18 Сен, 14 от Jim (160 баллов)