0
我有這樣的MySQL表 「類別」:
手柄父/子類別在MySQL/PHP
id category parent
1 category1 NULL
2 subcategory1 1
3 category2 NULL
4 subcategory2 2
,我希望得到這樣的結果:
category1
subcategory1
subcategory2
category2
得到這個結果,我使用此代碼,但速度很慢:
foreach($db->query("SELECT * FROM categories WHERE parent IS NULL") as $parent)
{
$t=0;
categories($db,$t,$parent['id'],$parent['category']);
}
function categories($db,$t,$id,$category)
{
echo"<option value=".$id.">";//
for($i=0;$i<$t;$i++) {echo" "; $GLOBALS['cat'].=" ";}
echo $category."</option>";//" ".$id.
$GLOBALS['cat'].=$category."<br>";
$t++;
if($db->query("SELECT * FROM categories WHERE parent=".$id)->rowCount()>0)
{
foreach($db->query("SELECT * FROM categories WHERE parent=".$id) as $child)
categories($db,$t,$child['id'],$child['category']);
}
}
您有更快的解決方案嗎?
感謝
你應該看看'嵌套集合'。那麼你可以避免必須做幾十個查詢來構建你的樹...這裏分享的信息太多了...... –