2011-07-15 13 views
0

次の結果セットから動的メニューを作成したいと思います。次のようにMysqlの動的ドロップダウンメニュー結果セット

result set

HTML構造は、それが近い閉鎖を失敗し

<?php $cat = 0;?> 
<?php foreach($this->submenus as $submenu): ?> 

     <?php if($cat!= $submenu->category_id): ?> 


         <li><?php echo $submenu->category_name ?></li> 

         <?php echo (!empty($submenu->subcategory_name))?'<ul>':'';  ?> 

         <?php $flag = $submenu->category_id; ?> 

     <?php endif;?> 

         <li class='sub'><?php echo $submenu->subcategory_name ?></li> 

     <?php if($cat!= $flag && $cat > 0): ?> 
       </ul> 
     <?php endif;?>           

       <?php $cat = $submenu->category_id;?> 


<?php endforeach; ?> 

<ul class="menu"> 

<li>Menu 1</li> 
    <ul class='submenu'> 
    <li>Submenu1</li> 
    <li>Submenu2</li> 
    </ul>  
<li>Menu2</li> 
    <ul class='submenu'> 
    <li>Submenu1</li> 
    <li>Submenu2</li> 
    </ul> 
<li>Menu 3</li> 
</ul> 

次のようにしようとしました、はず。

助けてください。

ありがとうございます。

+0

あなたが「失敗」で何を意味しています。エラーがありますか? –

+0

サブメニューulが正しく閉じない – abhis

答えて

0

私はあなたのPHPコードを少し再配置している、次のことを試してください。

<?php $cat = 0;?> 
<?php $submenu_flag = 0;?> 

<?php foreach($this->submenus as $submenu): ?> 

     <?php if($cat!= $submenu->category_id): ?> 


       <?php if($submenu_flag > 0): ?> 
         </ul> 
       <?php $submenu_flag = 0;?> 
       <?php endif;?>           

         <li><?php echo $submenu->category_name ?></li> 


       <?php if(!empty($submenu->subcategory_name)): ?> 
         <ul> 
          <?php $submenu_flag = 1; ?> 
       <?php endif;?>           


     <?php endif;?> 


      <?php echo (!empty($submenu->subcategory_name))?'<li class='sub'><?php echo $submenu->subcategory_name ?></li>':'';  ?> 


      <?php $cat = $submenu->category_id;?> 


<?php endforeach; ?> 
+0

うわー...素晴らしい。あなたは天才です。その完全に動作します。ありがとうございます:-) – abhis

+0

あなたは大歓迎です。 –

関連する問題