Html 包含来自数据库的数据的侧菜单栏

Html 包含来自数据库的数据的侧菜单栏,html,css,menu,archive,Html,Css,Menu,Archive,我有一个数据库,看起来像 INSERT INTO `function1`( `function_name`, `categori`, `reference_function`, `description`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5]) 现在,我需要一个菜单和子菜单系统,它将显示功能名称作为菜单标题单击后展开,以显示其下的分类列表及其说明。即说明。。 我确实试图解决,但css似乎不正确,因为描述不正确。即描

我有一个数据库,看起来像

INSERT INTO `function1`( `function_name`, `categori`, `reference_function`, `description`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5])
现在,我需要一个菜单和子菜单系统,它将显示功能名称作为菜单标题单击后展开,以显示其下的分类列表及其说明。即说明。。 我确实试图解决,但css似乎不正确,因为描述不正确。即描述不会显示在菜单右侧,而不是下拉

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
ul, #myUL {
  list-style-type: none;
}

#myUL {

  margin: 10px;
  padding: 10px;
}

.caret {
  cursor: pointer;
  -webkit-user-select: none; /* Safari 3.1+ */
  -moz-user-select: none; /* Firefox 2+ */
  -ms-user-select: none; /* IE 10+ */
  user-select: none;
}

.caret::before {
  content: "\27AF";
  color: black;
  display: inline-block;
  margin-right: 6px;
  color:white;
}

.caret-down::before {
  -ms-transform: rotate(90deg); /* IE 9 */
  -webkit-transform: rotate(90deg); /* Safari */'
  transform: rotate(90deg); 
  color:white;
}
.tab {
  float: left;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
  width: 30%;
  height: 300px;
}

.tabcontent {
  padding: 0px 12px;
  border: 1px solid #ccc;
  width: 70%;
  border-left: none;
}
.nested {
  display: none;
}

.active {
  display: block;
}
</style>
</head>
<body>

<h2 style="text-align: center">ARCHIVE SYSTEM</h2>
<p>Click on the arrow(s) to open or close the branches.</p>

<ul id="myUL">

    <?php 
$conn = mysqli_connect("XXXXX", "XXXXXX", "XXXXXX", "XXXXXXXX");

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql_all ="SELECT * FROM function1 ";
$result_all = $conn->query($sql_all);
if ($result_all->num_rows > 0) {
    $sql ="SELECT function_name FROM function1 GROUP BY function_name";
    $result = $conn->query($sql);
    while($row = $result->fetch_assoc())
    {   $rowcat=$row['function_name'];
        echo"<li><span style=' display: block;
  background-color: green;
  color: white;
  padding: 15px 16px;
  width: 20%;
  outline: none;
  border: 1px solid #fff;
  text-align: left;
  cursor: pointer;
  ' class='caret'>".$row['function_name']."</span>";

        $sql1="SELECT categori FROM function1 WHERE function_name='$rowcat' ";
        $result1 = $conn->query($sql1);

        echo" <ul class='nested'>";
        while($row1 = $result1->fetch_assoc())
        {  $rowcat1=$row1['categori'];


           echo"<li><span style=' display: block;
  background-color: green;
  color: white;
  padding: 15px 16px;
  width: 15%;
  outline: none;
  border: 1px solid #fff;
  text-align: left;
  cursor: pointer;
  ' class='caret'>".$row1['categori']."</span>";

             $sql2="SELECT description,reference_function FROM function1 WHERE categori='$rowcat1'";
             $result2 = $conn->query($sql2);

             echo" <ul class='nested'>";
             while($row2 = $result2->fetch_assoc())
              {echo"<li><p style='width:500px;
  border: 1px solid #c3c3c3;
  display: flex;
  margin-left:30px;
  flex-wrap: wrap;'>".$row2['description'] ." references are --- ".$row2['reference_function']."</textarea>";
                }
           echo"</ul>";
        }
        echo"</ul>";
    }

} else {
    echo "0 results";
}
$conn->close();

?>

<script>
var toggler = document.getElementsByClassName("caret");
var i;

for (i = 0; i < toggler.length; i++) {
  toggler[i].addEventListener("click", function() {
    this.parentElement.querySelector(".nested").classList.toggle("active");
    this.classList.toggle("caret-down");
  });
}
</script>

</body>
</html>

ul,#myUL{
列表样式类型:无;
}
#密尔{
利润率:10px;
填充:10px;
}
插入符号{
光标:指针;
-webkit用户选择:无;/*Safari 3.1+*/
-moz用户选择:无;/*Firefox 2+*/
-ms用户选择:无;/*IE 10+*/
用户选择:无;
}
插入符号:之前{
内容:“\27AF”;
颜色:黑色;
显示:内联块;
右边距:6px;
颜色:白色;
}
.caret down::之前{
-ms变换:旋转(90度);/*IE 9*/
-webkit变换:旋转(90度);/*Safari*/'
变换:旋转(90度);
颜色:白色;
}
.标签{
浮动:左;
边框:1px实心#ccc;
背景色:#f1f1;
宽度:30%;
高度:300px;
}
.tabcontent{
填充:0px 12px;
边框:1px实心#ccc;
宽度:70%;
左边界:无;
}
.嵌套{
显示:无;
}
.主动{
显示:块;
}
档案系统
单击箭头打开或关闭分支

    var-toggler=document.getElementsByClassName(“插入符号”); var i; 对于(i=0;i

请帮我做吧

首先,我建议您通过在一个separe文件中添加DB连接和SQL语句,然后在前端显示结果,从而使我们的代码更具组织性和干净性。另外,创建CSS类而不是添加内联样式将有助于减少代码。一旦你做出这些改变,你就会更容易找到解决办法。谢谢你的建议,我会处理好的。。。。我给出了完整的代码是为了让同事们理解我的代码。如果你有一个动态菜单栏的解决方案,它可以显示我的数据库内容,请随时帮助我。首先,我建议您通过在一个separe文件中添加DB连接和SQL语句,然后在前端显示结果,从而使我们的代码更加有序和干净。另外,创建CSS类而不是添加内联样式将有助于减少代码。一旦你做出这些改变,你就会更容易找到解决办法。谢谢你的建议,我会处理好的。。。。我给出了完整的代码是为了让同事们理解我的代码。如果你有一个动态菜单栏的解决方案,它可以显示我的数据库内容,请随时帮助我。非常感谢。