为什么我的数据表不显示我的数据每当我切换帐户?但如果我在管理员帐户,我可以看到表的数据发生了什么事?我不明白有人能请帮助我吗?
这里是我的index.php
<script type="text/javascript">
var manageTable;
var base_url = "<?php echo base_url(); ?>";
$(document).ready(function() {
// initialize the datatable
manageTable = $('#manageTable').DataTable({
'ajax': base_url + 'maincat/fetchMainCatData',
'order': [],
});
});
</script>
这是我的控制器
public function fetchMainCatData()
{
if(!in_array('viewMaincat', $this->permission)) {
redirect('dashboard', 'refresh');
}
$result = array('data' => array());
$data = $this->model_maincat->getMainCatData();
foreach ($data as $key => $value) {
// button
$buttons = '';
if(in_array('updateMaincat', $this->permission)) {
$buttons .= '<a href="'.base_url('maincat/update/'.$value['id']).'" class="btn btn-info"><i class="fa fa-pencil"></i></a>';
}
if(in_array('deleteMaincat', $this->permission)) {
$buttons .= ($value['button_status'] == 1) ? ' <button style="display:none;" type="button" class="btn btn-danger" onclick="removeFunc('.$value['id'].')" data-toggle="modal" data-target="#removeModal"><i class="fa fa-trash"></i></button>' : '<button style="margin-left: 5px;" type="button" class="btn btn-danger" onclick="removeFunc('.$value['id'].')" data-toggle="modal" data-target="#removeModal"><i class="fa fa-trash"></i></button>';
}
$availability = ($value['active'] == 1) ? '<span class="label label-success">Active</span>' : '<span class="label label-danger">Inactive</span>';
$result['data'][$key] = array(
$value['name'],
$availability,
$buttons
);
} // /foreach
echo json_encode($result);
}
}
这是一个模型:
public function getMainCatData($id = null)
{
if($id) {
$sql = "SELECT * FROM tbl_main_category where id = ?";
$query = $this->db->query($sql, array($id));
return $query->row_array();
}
$user_id = $this->session->userdata('id');
if($user_id == 1) {
$sql = "SELECT * FROM tbl_main_category ORDER BY id DESC";
$query = $this->db->query($sql);
return $query->result_array();
}
else {
$user_data = $this->model_users->getUserData($user_id);
$sql = "SELECT * FROM tbl_main_category ORDER BY id DESC";
$query = $this->db->query($sql);
$data = array();
return $data;
}
}
它在管理员帐户中工作正常,但每当我切换帐户时,它没有显示任何数据
但如果帐户是admin,则数据如下
什么是我的问题在这里我不太明白为什么它给我一个空的数据每当我切换帐户?相同的型号和控制器使用
1条答案
按热度按时间xxb16uws1#
假设管理员帐户的id是
1
,当您使用非管理员帐户时,您将在getMainCatData
函数中遍历if的else
部分。这个函数从数据库中获取数据,但是它总是返回一个空数组:
您可能希望返回查询的值:
注意:你的
if
和else
块接缝做同样的事情,我不确定if
是必要的。