2012-06-23 74 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