Php 从复选框中检索数据

Php 从复选框中检索数据,php,codeigniter,checkbox,codeigniter-3,Php,Codeigniter,Checkbox,Codeigniter 3,我想从表中获取所有已检查的数据。我在表格中使用复选框。当我单击“更改状态”时,它将更改我的角色状态。但是我在检索checkboxses值时遇到问题。在下面的代码中,它无法更新我的数据。我检索的复选框值为空。请帮我解决这个问题。提前谢谢 模型 控制器 function deaktifRole() { $session_data = $this->session->userdata('logged_in'); $editBy = $session_data['user

我想从表中获取所有已检查的数据。我在表格中使用复选框。当我单击“更改状态”时,它将更改我的角色状态。但是我在检索checkboxses值时遇到问题。在下面的代码中,它无法更新我的数据。我检索的复选框值为空。请帮我解决这个问题。提前谢谢

模型

控制器

function deaktifRole()
{
    $session_data = $this->session->userdata('logged_in');


    $editBy = $session_data['username'];
    foreach ($this->input->post['pilih'] as $value) {
        $this->Role->deaktifRole($value->value,$editBy);
    }
    redirect('Home/Role');
    echo '<script>alert("Your form was successfully submitted!");</script>';
}
函数deaktifRole()
{
$session_data=$this->session->userdata('logged_in');
$editBy=$session_data['username'];
foreach($this->input->post['pilih']作为$value){
$this->Role->deaktifRole($value->value,$editBy);
}
重定向(“主/角色”);
echo“警报(“您的表单已成功提交!”);
}
看法


管理员工角色
添加
改变状态
不
角色
地位
阿克提夫

由于
$this->input->post('pilih')
只是一个关联数组,您可以直接访问它,而无需
->value
属性。请尝试使用以下代码:

foreach ($this->input->post('pilih') as $value) {
    $this->Role->deaktifRole( $value,$editBy );
}

使用
$this->input->post('pilih')

获取复选框数据。

它仍然检索空值。您可以检查复选框的html呈现页面。无论它是否包含数据在值的属性中,我的视图都没有发布值。所以我得到了空数据。但是我不知道我的codeTry@Mayori的回答中的错误在哪里
post['pilih']
假定一个函数。不是数组。是的,它包含数据。我检查了它没有发生任何事情,在控制器内仍然为空,在
deaktifRole()
方法下,尝试打印
$\u POST
并检查是否获得复选框值?我没有获得值。我刚得到空值在您提交的表单中有问题,值未发布在控制器中。检查表单提交是否正确。
$RoleList
是否提供记录?
<div class="x_panel">
              <div class="x_title">
                <h2>Manage Staff Role</small></h2>
                <?php echo form_open_multipart('Home/deaktifRole');?>  
                <div align="right">
                  <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal">Add</button>
                  <button type="submit" class="btn btn-primary">Change Status</button>
                </div>
                <div class="clearfix"></div>
                </div>
              <div class="x_content">
                <table id="datatable-checkbox" class="table table-striped table-bordered bulk_action">
                  <thead>
                    <tr>
                      <th><input type="checkbox" id="check-all" class="flat"></th>
                      <th>No</th>
                      <th>Role</th>
                      <th>Status</th>
                    </tr>
                  </thead>
                  <tbody>
                  <?php $j=0; foreach ($RoleList as $rows)
                  {
                    $j++;
                  ?>
                    <tr>
                      <td><input type="checkbox" class="flat" name="pilih[]" value="<?php echo $rows['id_role']; ?>"></td>
                      <td><?php echo $j; ?></td>
                      <td><?php echo $rows['role']; ?></td>
                      <td>Aktif</td>
                    </tr>
                  <?php } ?> 
                  </tbody>
                </table>
              </div>
               <?php echo form_close(); ?>
            </div>
          </div>

    </div>
foreach ($this->input->post('pilih') as $value) {
    $this->Role->deaktifRole( $value,$editBy );
}