2012-06-23 113 views
0

我試圖從數據庫表中動態填充下拉菜單中的類別和子類別。我的問題是,我無法找出一種方法來循環子類別,以便它們顯示在正確的類別下。下拉菜單的類別/子類別的循環

在我的SQL數據庫中,我有一個名爲'Categories'的表,它有3列:id,category,子類別。子類別欄中的子類別由3個冒號分隔(藝術家:::育兒:::類:::事件)。

我在html中使用無序列表來填充下拉菜單。

<ul id="menu"> 
<li><a href="#">button</a> 
<ul> 

<?php 

while($allCategories=mysql_fetch_assoc($resultre1)){ ?> 

<li><a href="#"><div class="whatever"<?php print  
$relanguage_tags[$allCategories['category']];?> 
<?php if(in_array($relanguage_tags[$allCategories['category']],$reCategory)) 
print "selected='selected'"; ?> > 
<?php print $relanguage_tags[$allCategories['category']]; ?></div></a> 

<?php } ?> 

<ul> 

<?php 
if($ptype=="showOnMap" || $ptype=="viewFullListing" || $ptype=="home" || $ptype==""){ 
$reCategoryString=getCommaStringFromArray($reCategory); 
$reqr2="select * from $categoryTable where id like '%' ".getRealValue($reCategoryString,"reCategory"); 
$resultre2=mysql_query($reqr2); 
?> 

<?php 

while($allSubCategories=mysql_fetch_assoc($resultre2)){ 
$subCatList=explode(":::",$allSubCategories['subcategories']); 
$subCatSize=sizeof($subCatList); 
for($i=0;$i<$subCatSize;$i++){ 

?> 

<li><a href="#"><div class="whatever"<?php print $relanguage_tags[$subCatList[$i]];?>' 
<?php if(in_array($relanguage_tags[$subCatList[$i]],$reSubcategory)) print "selected='selected'"; ?> ><?php print $relanguage_tags[$subCatList[$i]]; ?></div></a></li> 
<?php } 

} ?> 

<?php } ?> 



     </ul> 
     </li> 
</ul> 
</li> 


</ul> 

回答

0
$subCatList=explode(":::",$allSubCategories['subcategories']); 
$subCatSize=count($subCatList); 
for($i=0;$i<$subCatSize;$i++){ 
     echo "<li>".$subCatList[$i]."</li>"; 
?> 

如果這不是答案意味着我沒有理解你的問題很好。

編輯

做一個函數,顯示所有從類別表的子類別:

function subCategories($category){ 
    $subCategories=""; 
     while($r=mysql_fetch_assoc(mysql_query("select * from ".$category.""))){ 
     $subCategories.="<li>".$r['subCategory']."</li>"; 
     } 
    return $subCategories; 
} 

,並呼籲像這樣echo subCategories("Housing");在每個類別標籤此功能。 希望它有幫助!

+0

感謝您的回覆,您發佈的代碼會給我相同的輸出。對不起,我的問題不是很清楚。在我的SQL數據庫中,我有一個名爲'Categories'的表格,它有3列:id,category,子類別。我發佈的代碼正確顯示了我的所有類別,但問題是每個類別都顯示整個表格中的所有子類別。我需要找到一種方法來分隔數據庫表中每個類別行的子類別。這是一個邏輯問題,我不知道如何調用子類別,但類別。我非常感謝你的幫助 – user1447729

+0

即時通訊不太好:/ – user1447729

+0

我不明白你想要做什麼。分類和子分類...這個菜單有什麼意義? – boyd