Php 如何在树状视图中显示层次结构数据库?
出于某些原因,我们需要在两个不同的树视图中显示mysql数据库中的数据 范例 树视图1(使用列表标记):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(
级别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);
}
}
回声“
”;
}
}
提取($数组);
问题是什么?