[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Пропустиь выборочно строки в цикле
grisha2013
У меня в цикле выводится таблица, но при некоторых условиях нужно не выводить определенные строки. Сами строки помечены в таблице значением 0 или 1 в дополнительном поле. Если значение в строке совпадает с настройками взятыми из базы, то эту строку нужно либо пропустить, либо отобразить на странице.

Подскажите в каком направлении рыть, догадываюсь что реализуется не сложно.

Как не прерывая цикл сделать пропуск строк по условию?

Сделал сейчас условие внутри цикла
if($val1 == $val2) continue;

но естественно, стало работать как переключатель. Выводятся либо одни, либо другие строки.
А мне нужно либо разрешенные строки выводить, либо все, как если не было-бы этого continue
DedMorozzz
if(условие) continue;

http://php.net/manual/en/control-structures.continue.php

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
grisha2013
Цитата (DedMorozzz @ 29.07.2013 - 10:20)
if(условие) continue;

Оперативно, спасибо. Только что так и сделал. Возникла сложность с обходом continue...

Цитата (grisha2013 @ 29.07.2013 - 10:12)
стало работать как переключатель. Выводятся либо одни, либо другие строки.А мне нужно либо разрешенные строки выводить, либо все, как если не было-бы этого continue

DedMorozzz
Цитата (grisha2013 @ 29.07.2013 - 11:22)
стало работать как переключатель. Выводятся либо одни, либо другие строки.А мне нужно либо разрешенные строки выводить, либо все, как если не было-бы этого continue

Не ясно, что имеешь в виду
continue - пропускает текущую итерацию. Если не надо ничего пропускать - не пиши continue, если надо - то в чём проблема?
Опиши задачу подробнее

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
DedMorozzz
Может ты не так понял, приведу пример:
имеется какой-то цикл, там проверяем что-то, т.е.

if($var1['is_hide'] == 1) continue;
else $display_element[] = $var1;


На этом этапе получает только те элементы, которые необходимо оторажать

Далее полученный массив уже передаём во вьюху, и элементы с этого массива отображаем

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
grisha2013
Все, дошло до меня наконец-то, как нужно написать условие.

В начале цикла сделал проверку такого вида.
	if(!$koeff['disable'])
{
if($row['status'] == $koeff['disable'])continue;
}


Если в настройках указано не выводить скрытые строки, то проверяем статус строки с настройкой и при совпадении - строку пропускаем.
Если условие не выполняется, т.е. в настройках разрешено, то выводим все что есть без отсеивания.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.