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

Вывод элементов в определенном порядке — что не так?

$cnt_element=1; //зададим нумерацию
while($ob = $res->GetNextElement()){  //вытащим из массива элементы
 $arFields = $ob->GetFields();  //поля элементов
 $arProps = $ob->GetProperties(); // свойства элементов
....
 //покажем элементы после первых трех из выборки. ПЕРВАЯ ГРУППА
// должно быть "Элемент4", "Элемент5", "Элемент6"....
if ((empty($arFields[PROPERTY_PHOTOMODULECHECK_VALUE])) and ($cnt_element > 4))
{?><div class="itemsnew-list-item-wrapper"><?=$arFields[NAME]?></div><?}
 
//покажем самые первые 3 элемента, но в конце списка. ВТОРАЯ ГРУППА
// должно быть "Элемент1", "Элемент2", "Элемент3"....
if ((!empty($arFields[PROPERTY_PHOTOMODULECHECK_VALUE])) and ($cnt_element < 4))
{?><div class="itemsnew-list-item-wrapper"><?=$arFields[NAME]?></div><?}

$cnt_element++;
}


На выходе получаю сначала вывод второй группы элементов, затем первой,т.е. так:
"Элемент1", "Элемент2", "Элемент3", "Элемент4", "Элемент5", "Элемент6", а не так:
"Элемент4", "Элемент5", "Элемент6", "Элемент1", "Элемент2", "Элемент3".

Что не так делаю?
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
$cnt_element=1; //зададим нумерацию
$str1 = $str2 = "";
while($ob = $res->GetNextElement()){  //вытащим из массива элементы
 $arFields = $ob->GetFields();  //поля элементов
 $arProps = $ob->GetProperties(); // свойства элементов

//покажем элементы после первых трех из выборки. ПЕРВАЯ ГРУППА
// должно быть "Элемент4", "Элемент5", "Элемент6"....
if (empty($arFields[PROPERTY_PHOTOMODULECHECK_VALUE]))
{ $str1 .= "<div class='itemsnew-list-item-wrapper'>{$arFields['NAME']}</div>"; }
 
//покажем самые первые 3 элемента, но в конце списка. ВТОРАЯ ГРУППА
// должно быть "Элемент1", "Элемент2", "Элемент3"....
if (!empty($arFields[PROPERTY_PHOTOMODULECHECK_VALUE]))
{ $str2 .= "<div class='itemsnew-list-item-wrapper'>{$arFields['NAME']}</div>"; }

if ($cnt_element == 6)
{ echo($str1.$str2); $str1 = $str2 = ""; $cnt_element = 0; }

$cnt_element++;
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽