菜单权限错误

时间:2016-04-02 11:00:42

标签: php pdo

这是我的表格结构

require_once('../model/DBConfig.php');
$ob=new Connection();



menus
        ====
        menu_id       menu_name           menu_hyper    parent_id  
           1      Master Settings            #               0           
           2          Role                   #               0           
           3          Add Role           add_role.php        2           
           4          Staff              add_staff.php       1           


        menu_permission
        ===========

        id   staff_id       permission
        1      1              1,4,2,3
        2      2               2,3


<ul class="nav side-menu">


              <?php 

              $selquery=$ob->showDataall("select * from menu_permission where staff_id='".$_SESSION['user_id']."'");
              foreach($selquery as $nquery)
                {

                  foreach(explode(",",$nquery['permission']) as $mnu)
                    {
                        $mnquery=$ob->showDataall("select * from menus where menu_id='".$mnu."' and parent_id='0' and delet='0'");
                        foreach($mnquery as $value)
                            {
                                echo '<li><a href="'.$value['menu_hyper'].'"><i class="fa fa-bars"></i>' .$value['menu_name']. '</a></li>';

                            }

                    }

                }
              ?>
</ul>

结果是

主设置

  

警告:在第44行的G:\ xampp \ htdocs \ live \ Billing Suryas \ include \ pages \ menu_left_bar.php中为foreach()提供的参数无效
  的作用
  警告:在第44行的G:\ xampp \ htdocs \ live \ Billing Suryas \ include \ pages \ menu_left_bar.php中为foreach()提供的参数无效

这是我的功能

public function showDataall($result) 
    {
        $q = $this->conn->prepare($result) or die("failed!");
        $q->execute();
        while ($r = $q->fetch(PDO::FETCH_ASSOC)) 
        {
            $data[] = $r;
        }
        return $data;
    }

1 个答案:

答案 0 :(得分:0)

您需要在require_once('path/to/class');中加入您的课程,然后使用$ob = new className创建一个对象 在路径中替换包含您的类的文件,以及该类的名称。 如果这没有解决它,那值得尝试

print_r($selquery);

查看数组的内容或

var_dump($selquery);

检查它是否真的是一个数组。

您在某个SQL查询中也拼错了delete,并且数字不喜欢被&#39;包围。引号