我需要修改应用程序中的 View ,并且我拥有表用户权限,其结构如下
id_staff | feature | capabilities
1 reports view
1 reports create
1 reports edit
2 reports view
2 reports delete
3 reports view
我需要的是像 id_staff 3 这样的用户,在报告中,功能只有一种功能,就像他只能查看的示例,不能编辑、编辑或创建。那么用户 id 3 只能看到用于查看页面的超链接,而无法看到用于创建、编辑或删除页面的超链接。
为此,我尝试使用选择查询,将其插入数组,然后将数组值与上面的条件进行比较
我尝试过这样的代码
<?php
$query = $this->db->query('SELECT * FROM tblstaff_permissions WHERE staff_id='.$id.'');
foreach ($query->result() as $row)
{
if($row['feature']=='reports' and $row['capabilities']=='view'){
<a href="view.php">View</a>
} elseif($row['feature']=='reports' and $row['capabilities']=='delete' ){
<a href="delete.php">Delete</a>
}
}
?>
然后页面一片空白
你知道错误出在哪里吗?
谢谢
最佳答案
您可以通过减少重复代码来改进它,例如 $row['feature']=='reports'
代码,例如:
$query = $this->db->query('SELECT * FROM tblstaff_permissions WHERE staff_id='.$id.'');
foreach ($query->result_array() as $row)
{
if ($row['feature']=='reports') {
if ($row['capabilities']=='view') {
echo '<a href="view.php">View</a>';
} elseif ($row['capabilities']=='delete') {
echo '<a href="delete.php">Delete</a>';
}
}
}
要获取数组结果,请使用 $query->result_array()
而不是 $query->result()
,而且您还会错过 echo
语句。
关于mysql - 如何将数据库中的数据插入数组并检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56880553/