PHP Mysql使用闭包表以分层结构存储和显示数据


PHP-Mysql Storing and Displaying data in hierarchical structure using Closure table

这是我需要显示数据的方式:

Electronics        main heading
      Mobile        category
         Galaxy s   sub category

我使用三个表:主标题、类别和子类别。每个都有一个外键。

我想知道哪种方法显示这种数据是有效的。我读过这些方法:邻接列表,路径枚举,嵌套集,闭包表。

你能指出一个实现这一点的好例子吗?

加入后,这就是我的表看起来像的样子

1. Electronics mobile Galaxy s
   $x = "";
   $z = "";
    while()
     { 
   if($x != $mainheading)
     {
            $y =    $row['mainheading'];
       $x = $y;
      }
    if($y != $category)
       {
              $s =    $row['category'];
             $z = $s;
       }
   }

数据库结构

主标题sno主键主航向

类别

sno主键msno-foriegn密钥类别

子项

sno主键csno foriegn密钥分项

我在三张表上使用join形成

电子移动Galaxy的

HTML

        <div> Main Heading <div> </div>
        </div>
        <div><second opens>
        <div><third close>
       <h3> Category</h3>
        <div>
        <p>Sub item</p> </div>
        </div><third close?
       </div><second close>

试试这个

while($row)
{
 if($x != $mainheading)
  {
    $y =    $row['mainheading'];
    $x = $y;
   echo "<div>"; echo $x; echo "<div>";
  }
   if($y != $category)
   {
      $s = $row['category'];
      $z = $s;
     echo "<div>"; echo $z; echo "<div>"; 
   }
  and so on...... 
}