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 如何在树状视图中显示层次结构数据库?_Php_Mysql_Treeview_Hierarchical Data_Adjacency List Model - Fatal编程技术网

Php 如何在树状视图中显示层次结构数据库?

Php 如何在树状视图中显示层次结构数据库?,php,mysql,treeview,hierarchical-data,adjacency-list-model,Php,Mysql,Treeview,Hierarchical Data,Adjacency List Model,出于某些原因,我们需要在两个不同的树视图中显示mysql数据库中的数据 范例 树视图1(使用列表标记): 级别1(根) 二级 二级 三级 三级 四级 四级 二级 三级 三级 四级 四级 参见下面的我的代码- 你只需要把css放在这里就可以了 $servername = "localhost"; $username = "root"; $password = "psswd_here"; $dbname = "db_here"; $conn = new mysqli(

出于某些原因,我们需要在两个不同的树视图中显示mysql数据库中的数据

范例

树视图1(使用列表标记):

  • 级别1(根)
    • 二级
    • 二级
      • 三级
      • 三级
        • 四级
        • 四级
    • 二级
      • 三级
      • 三级
        • 四级
        • 四级
  • 参见下面的我的代码-

    你只需要把css放在这里就可以了

    $servername = "localhost";
    $username = "root";
    $password = "psswd_here";
    $dbname = "db_here";
    
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    if ($conn->connect_error)
    {
        die("Connection failed: " . $conn->connect_error);
    }
    
    function getCategory($parent_id){
        global $conn;
        $sql2 = "SELECT * FROM categories WHERE parent_id='".$parent_id."' ORDER BY name";
        $result2 = $conn->query($sql2);
    
        if (mysqli_num_rows($result2) > 0)
        {
            echo "<ul>";
            while ($row2 = mysqli_fetch_object($result2))
            {
                echo "<li>".$row2->name."</li>";
                getCategory($row2->id);     
            }
            echo "</ul>";
        }
    }
    
    
    //Set Parent id
    $parent_id = 0;
    getCategory($parent_id);
    
    $servername=“localhost”;
    $username=“root”;
    $password=“psswd_此处”;
    $dbname=“db_here”;
    $conn=newmysqli($servername、$username、$password、$dbname);
    如果($conn->connect\u错误)
    {
    die(“连接失败:”.$conn->connect\U错误);
    }
    函数getCategory($parent\u id){
    全球$conn;
    $sql2=“从父项id=”的类别中选择*”。“$parent\u id。”“按名称排序”;
    $result2=$conn->query($sql2);
    如果(mysqli_num_行($result2)>0)
    {
    回声“
      ”; while($row2=mysqli\u fetch\u对象($result2)) { 回声“
    • ”$row2->name.“
    • ”; getCategory($row2->id); } 回声“
    ”; } } //设置父id $parent_id=0; getCategory($parent_id);

    注意:根类别父\u id为0

    这样您可以添加类别级别的类

    $conn = new mysqli("...");  
    
    if ($conn->connect_error)
    {
        die("Connection failed: " . $conn->connect_error);
    }
        
    $result = $conn->query("...");
    $row = array();
    while($row = $result->fetch_assoc()){
       $array[] = $row;
    }       
    
        
    
    function extract($array, $parent = null, $level = 0)
    {
        if(count($array)) {
            echo '<ul class="level-'.$level.'">';
            foreach($array as $row) {
                if($row['id'] == $parent) {
                    echo '<li>'.$row['name'].'</li>';
                    $this->extract($array, $row['parent_id'], $level+1);
                }
            }
            echo '</ul>';
        }       
    }
    
    extract($array);
    
    $conn=newmysqli(“…”);
    如果($conn->connect\u错误)
    {
    die(“连接失败:”.$conn->connect\U错误);
    }
    $result=$conn->query(“…”);
    $row=array();
    而($row=$result->fetch_assoc()){
    $array[]=$row;
    }       
    函数提取($array,$parent=null,$level=0)
    {
    if(计数($array)){
    echo'
      ”; foreach($array作为$row){ 如果($row['id']==$parent){ 回显“
    • ”.$row[“name]”。
    • ; $this->extract($array,$row['parent_id',$level+1); } } 回声“
    ”; } } 提取($数组);
    问题是什么?