Php 使用Codeigniter 3和MySQL获取更新页面上的当前数据,以复选框形式显示
在复选框窗体上显示当前数据和在编辑页面中显示选中状态时出现问题 这是我在数据库中的表: 数据访问表 用户\u数据\u访问表 这是我的控制器:Php 使用Codeigniter 3和MySQL获取更新页面上的当前数据,以复选框形式显示,php,mysql,codeigniter,model-view-controller,activerecord,Php,Mysql,Codeigniter,Model View Controller,Activerecord,在复选框窗体上显示当前数据和在编辑页面中显示选中状态时出现问题 这是我在数据库中的表: 数据访问表 用户\u数据\u访问表 这是我的控制器: <?php defined('BASEPATH') or exit('No direct script access allowed'); class Auth extends CI_Controller { function update($id){ $this->data['user'] =
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Auth extends CI_Controller
{
function update($id){
$this->data['user'] = $this->Auth_model->get_by_id($id);
$this->data['get_all_data_access'] = $this->Dataaccess_model->get_all();
$this->load->view('back/auth/user_edit', $this->data);
}
}
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Auth_model extends CI_Model
{
function get_by_id($id){
$this->db->where($this->id, $id);
return $this->db->get($this->table)->row();
}
}
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Dataaccess_model extends CI_Model
{
function get_all(){
return $this->db->get($this->table)->result();
}
}
<?php
$this->db->where('user_id', $user->id_users);
$dataAccessOld = $this->db->get('users_data_access')->result();
print_r($dataAccessOld);
foreach ($get_all_data_access as $alldataAccess) {
foreach($dataAccessOld as $oldDataAccess){
if($oldDataAccess->data_access_id == $alldataAccess->id_data_access){
$checked = 'checked';
}else{$checked = '';}
}
?>
<div class="pretty p-icon p-smooth">
<input type="checkbox" name="data_access_id[]" value="<?php echo $alldataAccess->id_data_access ?>" <?php echo $checked ?>>
<div class="state p-success">
<i class="icon fa fa-check"></i>
<label><?php echo $alldataAccess->data_access_name ?></label>
</div>
</div>
<?php } ?>
您到底想要什么???@KUMAR如果用户具有所有数据访问权限(读取、创建、更新、删除和还原),则应选中复选框,如果其他用户仅具有读取和创建数据访问权限,则复选框仅在读取和创建复选框窗体上选中,等等。您正在覆盖循环中的$checked,仅返回所需阵列的最后一个值???@KUMAR如果用户具有所有数据访问权限(读取、创建、更新、删除和还原),则应选中该复选框,如果其他用户仅具有读取和创建数据访问权限,则仅在读取和创建复选框窗体上选中该复选框,您正在覆盖循环中的$checked,只返回数组的最后一个值