将重复的列值显示为 header 以及相应 header 下方的其他数据

Display duplicate column values as header and other data below respective header

this is my database structure

我希望显示的结果看起来像

我想将重复的类别值显示为 header,并在相应类别下方显示子类别数据。我正在使用 mysqli 并在每个子目录中重复该目录。

这是我现在的代码

<?php
include 'connect.php';
mysqli_select_db($conn, "storepos");
$sql = "SELECT * FROM catagorydb";
$result = mysqli_query($conn, $sql);
echo "<ol class='rounded-list'>";
while ($row = mysqli_fetch_array($result)) {
    echo "<li class='level-1'>  
    <div class='level cat_row'>";
    echo $row['catagory'];
    echo "</div>";
    echo "<ol class='level-2'>
    <li>
    <div class='cat_row level'>";
    echo $row['subcatagory'];
    echo "</div></li>";
}
echo "</ol></li></ol>";
mysqli_close($conn);

?>

或许您可以先按类别对所有项目进行分组:

$sql = "SELECT * FROM catagorydb GROUP BY catagory";

然后遍历所有类别,在该循环中您可以遍历每个相应的子类别。