我試圖獲取不同的類別名稱,並使用PHP從mysql數據庫中獲取與每個類別名稱相關的所有子類別。PHP:不同的類別和多個子類別?
所以我需要它看起來像這樣:
Cat1
sub_cat1
sub_cat2
sub_cat3
Cat2
sub_cat1
sub_cat2
Cat3
sub_cat1
sub_cat2
sub_cat3
sub_cat4
這是我的代碼:
$subs = "";
$header_list = "";
$sql2 ="SELECT * FROM sub_cats GROUP BY cat_name";
$query2 = mysqli_query($db_conx, $sql2);
$productCount = mysqli_num_rows($query2); // count the output amount
if ($productCount > 0) {
while($row = mysqli_fetch_array($query2, MYSQLI_ASSOC)){
$scid = $row["id"];
$scat_name = $row["cat_name"];
$scsub_cat_name = $row["sub_cat_name"];
foreach ((array) $scsub_cat_name as $item) {
$subs .='<li>
<a href="printing-products/standard-business-cards-range25d3.html?productTypeId=3#?pt=3&lt=1&ps=57&pat=4&prt=1">'.$scsub_cat_name.' <i class="fa fa-angle-double-right pull-right"></i></a>
</li>';
}
$header_list .= '<li class="product-types">
<span class="heading">'.$scat_name.'</span>
<ul class="product-options">
'.$subs.'
</ul>
</li>';
/*foreach ((array) $cat_name as $item) {}*/
}
} else {
$header_list = "";
}
echo $header_list ;
,我面臨的問題是,它會得到不同的類別正常,但它不會獲得與每個類別相關的子類別,並將它們置於不同的類別下!
所有類別和子類別都存儲在同一個表在MySQL數據庫中,像這樣:
id cat_name sub_cat_name
1 cat1 subcat1
2 cat1 subcat2
3 cat1 subcat3
4 cat2 subcat1
5 cat2 subcat2
etc etc.....
可能有人請告知這個問題?
任何幫助,將不勝感激。
編輯:
這是我做了什麼,我在MySQL數據庫中創建第三個表table_cat_sub_cat
:
$sql2 ="SELECT catgories.cat_name, sub_cats.sub_cat_name
FROM catgories
INNER JOIN table_cat_sub_cat ON catgories.id=table_cat_sub_cat.cat_id
INNER JOIN sub_cats ON table_cat_sub_cat.sub_cat_id = sub_cats.id";
$query2 = mysqli_query($db_conx, $sql2);
$productCount = mysqli_num_rows($query2); // count the output amount
if ($productCount > 0) {
while($row = mysqli_fetch_array($query2, MYSQLI_ASSOC)){
//$scid = $row["id"];
$scat_name = $row["cat_name"];
$scsub_cat_name = $row["sub_cat_name"];
foreach ((array) $scsub_cat_name as $item) {
$subs .='<li>
<a href="printing-products/standard-business-cards-range25d3.html?productTypeId=3#?pt=3&lt=1&ps=57&pat=4&prt=1">'.$scsub_cat_name.' <i class="fa fa-angle-double-right pull-right"></i></a>
</li>';
}
$header_list .= '<li class="product-types">
<span class="heading">'.$scat_name.'</span>
<ul class="product-options">
'.$subs.'
</ul>
</li>';
,但我仍然得到一些奇怪的輸出和子類別下無關類別會!
請您分享你的結構,如果有兩張表..i.e。,加入 –