mysql - 如何将数据库中的数据插入数组并检查

标签 mysql codeigniter

我需要修改应用程序中的 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/

相关文章:

mysql - 显示数据库 Laravel 中的数组值

php - 将此时间戳插入 MySQL 时间戳列

php - 如何使用 CodeIgniter 在 MySQL 中插入 HTML 实体?

php - CodeIgniter:cookie、 session 、重定向太多?

php - 避免硬编码嵌套 foreach 循环

mysql - 检查插入数据的完整性 - sqlite3

php - “管理员”内容不会向在我的 CodeIgniter 电子商务网站上以管理员身份登录的用户显示

mysql查询插入不存在的地方

php - 我可以在 Tungsten Replicator for MySQL 中使用 codeigniter session_id 到 SmartScale sessionid 吗?

php - 多次连接同一个表时出错