Денч
а как предлагаешь разрешать просмотр?
Coder.ua
объясню на пальцах, видимо ты просто не подумал как следует
допустим у тебя есть 3 элемента в списке чег-то там (назовем это статьей)
каждая из статей имеет флаг активности. Флаги активности должны изменяться через список, причем как устанавливаться так и сниматься.
id | Флаг активности |
-----------------------------
1 | [ ] |
2 | [х] |
3 | [ ] |
-----------------------------
[ПРИМЕНИТЬ]
рассмотрим одну строку подробнее. что мы имеем?
id статьи, и элемент формы checkbox
как уже говорилось раньше, невыбранные чекбоксы не передаются в запрос.
значит, чтобы узнать какие не были выбраны, надо знать какие вообще были в списке, и какие из них выбраны.
чтобы узнать какие были выбраны, мы назовем все чекбоксы одним именем, сделаем их массивом, и просто укажем в качестве индеска id статьи, которой управляет этот чекбокс
чтобы узнать, какие были не выбраны, надо знать какие id вообще есть на этой странице.
нет ничего проще. в каждую строку добавим hidden, сделаем из него массив, и передадим для каждой строки в соответствующий hidden значение id статьи из этой строки.
итого будем иметь:
id | Флаг активности
----------------------------------------------------------------------------------
<hidden name="id[]" value="1"> 1 | <checkbox name="active[1]" value=1>
<hidden name="id[]" value="2"> 2 | <checkbox name="active[2]" value=1 selected>
<hidden name="id[]" value="3> 3 | <checkbox name="active[3]" value=1>
Что делать дальше?
получаем $all = $_POST["id"]
получаем $active = array_keys($_POST['active'])
получаем $not_active = array_diff($all, $active);
что дальше делать, думаю объяснять не надо?