Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP&MYSQL:获取具有级别的关联数组_Php_Mysql_Arrays_Function_Menu - Fatal编程技术网

PHP&MYSQL:获取具有级别的关联数组

PHP&MYSQL:获取具有级别的关联数组,php,mysql,arrays,function,menu,Php,Mysql,Arrays,Function,Menu,所以我想用PHP来构建一个导航菜单 菜单项存储在数据库中 数据库: 我需要的输出应该如下所示: 期望输出: 构建菜单的函数应该使用如下代码,我不确定我在做什么,我正在尝试使用以下代码: 这是我的密码: +--------+---------+ | id | int(11) | +--------+---------+ | title | varchar | +--------+---------+ | url | varchar | +--------+-

所以我想用PHP来构建一个导航菜单

菜单项存储在数据库中

数据库:

我需要的输出应该如下所示:

期望输出:

构建菜单的函数应该使用如下代码,我不确定我在做什么,我正在尝试使用以下代码:

这是我的密码:

+--------+---------+  
| id     | int(11) |  
+--------+---------+  
| title  | varchar |  
+--------+---------+  
| url    | varchar |  
+--------+---------+  
| parent | int(11) |  
+--------+---------+ 
$menu = array
(
    array
    (
        'title' => 'Item One',
        'url' => 'item_one.php',
    ),
    array
    (
        'title' => 'Item Two',
        'url' => 'item_two.php',
        'children' => array
        (
            array
            (
                'title' => 'Item Three',
                'url' => 'item_three.php',
            ),
            array
            (
                'title' => 'Item Four',
                'url' => 'item_four.php',
            )
        )
    )
);
// Connect to database and fetch result.

     $stmt = $db->prepare('SELECT id,parent,title,url FROM nav_menu');
     $stmt->execute();
     $result= $stmt->fetch(PDO::FETCH_ASSOC);   

// Example function that i'm not sure how to use to get the desired output.

    function build($level = NULL)  
    {  
        $level_id = empty($level) ? 0 : $level->id;  

        $level = $this->where('parent', $level_id)->orderby('id', 'asc')->find_all();  

        $menu = new menu;  

        foreach ($items as $lvl)  
        {  
            $menu->add($lvl->title, $lvl->url, $this->build($lvl));  
        }  

        return $menu;  
    }