2012-03-01 2 views
3

index.php에 select 양식 객체가 있습니다. 항목은 mySQL에서 가져옵니다. 메신저 시도는 달성하는 것입니다 : catID = NULL 때마다 optgroup을 만듭니다. 이 경우 섹션 1과 섹션 2는 optgroup이어야합니다. 그러나 옵트 그룹은 1 옵션 후에 닫힙니다. 어떤 팁? 스크린 샷 :옵트 그룹은 1 개 항목 후에 닫힙니다. 동적 목록

enter image description here

데이터베이스 -> 테이블 :

catId catName 
NULL --Section1-- 
1010 Bilar 
1020 Bildelar & tillbehör 
1030 Motorcycklar 
1040 Motorcycklar delar & tillbehör 
1050 Moped 
1070 Lastbil & Truck 
NULL --Section2-- 
2010 Bygg och Trädgår 
2020 Möbler & Heminredning 
2030 Husgeråd & Vitvaror 
2040 Verktyg 

HTML :

 <?php $count = 0; ?> 
     <?php foreach($categories as $category): $count++;?> 

       <?php if($category['catId']==NULL){?> 

        <optgroup label="<?php $category['catName']?>"> 

       <?php } else{ ?> 

        <option value="<?php echo $category['catId'];?>"><?php echo $category['catName'];?></option> 
        <?php 
        $temp = $categories[($count+1)]; 
        if($temp['catId']==NULL)?> 
          </optgroup> 
       <?php } ?> 

      <?php endforeach;?> 

     </select> 
+0

위해서 var_dump ($ 범주); – Matt

+0

당신은 더 구체적 일 수 있습니까? –

+0

$ categories 변수의 내용을 검사하여 포함 할 내용이 포함되어 있는지 확인하십시오. – Matt

답변

1

이 시도 :

<?php $first_opt = TRUE; ?> 

    <?php foreach($categories as $category): ?> 

      <?php if($category['catId']==NULL){?> 

       <?php if($first_opt):?> 
        <optgroup label="<?php echo $category['catName']?>"> 
        <?php $first_opt = FALSE;?> 
       <?else:?> 
        </optgroup><optgroup label="<?php echo $category['catName']?>">     
       <?endif;?> 

      <?php } else{ ?> 

       <option value="<?php echo $category['catId'];?>"><?php echo $category['catName'];?></option> 

      <?php } ?> 

     <?php endforeach;?> 
    </optgroup> 
    </select> 
+0

대단히 감사합니다. D –

관련 문제