Я пытался обновить несколько строк в WordPress, который содержит флажки (если установлен 1 или 0), но он работает неправильно.У меня есть 3 строки:
+---------+-----------+-------------+
| dept_id | dept_name | dept_status |
+---------+-----------+-------------+
| 1 | Services | 1 |
| 2 | Products | 0 |
| 3 | Users | 0 |
+---------+-----------+-------------+
Если я хочу активировать dept users
, проверив состояние флажка, тогда для продуктов будет написано 1, что неправильно.Другой пример: если у нас все dept_status 0 и мы пытаемся обновить продукты, то это влияет на сервисы.Я не могу понять ... что не так в моем коде ... Вот мой код:
if ( isset( $_POST['update'] ) ){
...
for ($i=1; $i<$deps_var; $i++) {
$updatedeps=array(
'dept_name' => $_POST['dept_name'][$i],
'dept_status' => isset($_POST['dept_status'][$i]) ? 1 : 0
) ;
$where=array('dept_id' => $_POST['dept_id'][$i]);
$wpdb->update( $departments, $updatedeps, $where);
}
...
}
и форма:
<tr>
<input name="dept_id[]" type="hidden" value="<?php echo $dep['dept_id'] ?>" class="small-text">
<td><input name="dept_name[]" type="text" value="<?php echo $dep['dept_name'] ?>" class="form-control"></td>
<td><input type="checkbox" name="dept_status[]" value="<?php echo $dep['dept_status']; ?>" <?php echo ($dep['dept_status']==1 ? 'checked' : '');?>></td>
</tr>
Любая помощь будет оценена!
PS: Хорошо работает, если я использую «текст» вместо «флажок»