我正在网站和该网站上工作并希望显示类别>子类别>子类别。
正在显示类别。但我也想显示子类别。
这是类别代码
<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>
答案 0 :(得分:0)
首先,您需要一种在数据库中存储类别层次结构的方法。一种简单的方法(当然不是最好的方法,因为它依赖于排序)是在表中添加一个整数列,指定该类别有多少&#34; sub&#34; -prefixes。我假设此列名为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
替换查询以控制类别的排序。