2012-06-23 3 views
0

Я пытаюсь динамически заполнить выпадающее меню с категориями и подкатегориями из таблицы базы данных. Моя проблема заключается в том, что я не могу найти способ перебирать подкатегории, чтобы они отображались под нужной категорией.Категория/подкатегория цикла для выпадающего меню

В моей базе данных SQL у меня есть таблица под названием «Категории» с 3 столбцами: идентификатор, категория, подкатегория. Подкатегории в столбце подкатегории разделены тремя двоеточиями (Artists ::: Childcare ::: Classes ::: Event).

Я использую неупорядоченные списки в 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>"; 
?> 

если это не ответ означает, что я не понял ваш вопрос хорошо.

EDIT

сделать функцию, которая показывает все подкатегории из категории таблицы:

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 у меня есть таблица под названием «Категории» с тремя столбцами: id, category, subcategory. Код, который я опубликовал, отображает все мои категории правильно, но проблема в том, что каждая категория отображает все подкатегории во всей таблице. Мне нужно найти способ разделить подкатегории для каждой категории в моей таблице базы данных. Это логическая проблема, я не могу понять, как назвать подкатегории, но категории. Я очень ценю вашу помощь – user1447729

+0

им не очень хорошо с циклами:/ – user1447729

+0

Я не понимаю, хотите ли вы пытаться сделать. Кадры и подкатегории ... в чем смысл этого меню? – boyd

Смежные вопросы