我有一个在option
框中列出类别的功能,但是我想在下拉菜单中列出类别以进行导航。
我可以列出主要类别,但不能列出父类别。
任何帮助将不胜感激。谢谢
这是我的职能:
function categori($parent_id = 0, $st = 0){
Global $pdo;
$stmt = $pdo->prepare("SELECT * FROM categories WHERE parent_id = :parent");
$stmt->execute(array('parent'=>$parent_id));
$v = $stmt->fetchAll(PDO::FETCH_ASSOC);
$say = $stm
t->rowCount();
if($say){
foreach($v as $rows){
echo "<li><a href=".$rows['cat_id']."/".$rows['seo_url'].">".$rows['cat_name']."</a></li>";
categori($rows['cat_id']);
}
}
unset($stmt);
}
Usac:
categori();
下拉菜单:
<ul>
<li><a href="cat">main cat</a>
<ul>
<li><a href="cat">child cat</a></li>
</ul>
</li>
</ul>
答案 0 :(得分:0)
由于函数categori
将父类别ID作为参数,因此您可以轻松显示父类别和子类别。
只需稍微更改html模板即可。 首先得到主要类别。这些应该是父类别ID为0的所有类别。
<?php $parentCategories = category(); ?>
然后遍历所有父类别,并按父类别ID提取子类别。
<ul>
<?php foreach ($parentCategories as $parentCategory) : ?>
<li>
<a href="cat"><?= $parentCategory['name'] ?></a>
<ul>
<?php
$children = category($parentCategory['id']);
foreach ($children as $child) :
?>
<li><?= $child['name'] ?></li>
<?php endforeach; ?>
</ul>
</li>
<?php endforeach; ?>
</ul>
如您所见,有两个foreach
迭代。第一个遍历父类别。第一个foreach循环中的第二个循环遍历子类别,您可以通过父类别ID来获取子类别。