まず第一に、私は mysqli を初めて使用し、ステートメントを準備するので、エラーが発生した場合はお知らせください。私はこの静的ドロップダウンメニューを持っています:
HTML コード:
<ul class="menu sgray fade" id="menu">
<li><a href="#">Bike</a>
<!-- start mega menu -->
<div class="cols3">
<div class="col1">
<ol>
<li><a href="#">bikes</a></li>
<li><a href="#">wheels</a></li>
<li><a href="#">helmets</a></li>
<li><a href="#">components</a></li>
</ol>
</div>
<div class="col1">
<ol>
<li><a href="#">pedals</a></li>
<li><a href="#">GPS</a></li>
<li><a href="#">pumps</a></li>
<li><a href="#">bike storage</a></li>
</ol>
</div>
<div class="col1">
<ol>
<li><a href="#">power meters</a></li>
<li><a href="#">hydratation system</a></li>
<li><a href="#">shoes</a></li>
<li><a href="#">saddles</a></li>
</ol>
</div>
</div>
<!-- end mega menu -->
</li>
動的なドロップダウン メニューを作成したい。私はこの関数で$categoryName
とを表示することができました:$SubCategoryName
function showMenuCategory(){
$db = db_connect();
$query = "SELECT * FROM Category";
$stmt = $db->prepare($query);
$stmt->execute();
$stmt->bind_result($id,$categoryName,$description,$pic,$active);
while($stmt->fetch()) {
echo'<li><a href="#">'.$categoryName.'</a>
<!-- start mega menu -->
<div class="cols3">
<div class="col1">
<ol>';
$dba = db_connect();
$Subquery = "SELECT * FROM Subcategory WHERE CategoryId = '".$id."'";
$Substmt = $dba->prepare($Subquery);
$Substmt->execute();
$Substmt->bind_result($Subid,$CatId,$SubCategoryName,$SubDescription);
while($Substmt->fetch()) {
echo'
<li><a href="#">'.$SubCategoryName.'</a></li>';
}
echo'
</ol>
</div>
<!-- end mega menu -->
</li>';
}
}
唯一の問題は、同じ のすべてのサブカテゴリを返すことです <div class="col1">
:
私が取得したいのは、サブカテゴリをカウントし、結果が 4 を超える場合は、2 列目と 3 列目の他の項目を返すことです。
更新***: 以下の回答のおかげで、メニューは次のようになります。
ありがとう!