使用php显示类别,子类别和子类别

使用php显示类别,子类别和子类别

问题描述:

我正在网站和该网站上工作,并希望显示类别>子类别>子类别。使用php显示类别,子类别和子类别

类别正在展示。但我也想显示子类别。

这里是类别代码

<select> 
     <option>Select Category</option> 
       <?php 
       $query="select * from mydb"; 
       $result=mysqli_query($connect,$query); 
       while($r=mysqli_fetch_assoc($result)) 
       { 
       ?> 
     <option value="<?php echo $r['id']?>"><?php echo $r['title']?></option>          
    <?php } ?> 
    </select> 

显示像这样: - enter image description here

想DISPLA像这样: - enter image description here

+0

您是否将这种层次结构存储在数据库中? – sauerburger

+0

@sauerburger这只是演示。我会改变它。如果您知道如何显示子类别,请让我知道 – Unidan

所有你需要一种方法来存储类别的层次结构中的第一你的数据库。一个简单的方法(当然不是最好的方法,因为它依赖于排序)是向表中添加一个整数列,指定该类别具有多少“子”前缀。我假设这一栏被称为level

其次,期望的输出使用复选框而不是选项列表。为了得到这种类别/子类别的输出,你可以尝试:

<input type="checkbox" style="margin-left: 0px" /> Category <br /> 
<input type="checkbox" style="margin-left: 20px" /> Sub-Category <br /> 

为了产生类似上述情况,与

<?php 
$query="select * from mydb"; 
$result=mysqli_query($connect,$query); 
while($r=mysqli_fetch_assoc($result)) 
{ 
    $id = $r['id']; 
    $indent = $r['level'] * 20; 
    $title = $r['title']; 
    echo "<input type=\"checkbox\" value=\"$id\" style=\"margin-left: ${indent}px\" />$title<br />";  
}        
?> 

我建议添加另一列(如my_order)和替换代码添加用select * from mydb order by my_order asc替换查询来控制类别的排序。