2012-01-12 3 views
3
<?php 
    $r=mysql_query("SELECT city.id as city_id, locality.id,locality.area_name ". 
        "FROM city, locality ". 
        "WHERE city.id = locality .city_id order by city_id"); 

    while($rss=mysql_fetch_object($r)) 
    { 
?> 
<legend><?=$rss->city_id?></legend> 
<input type="checkbox" name="sub_type[]" id="sub_type" value="<?=$rss->id?>" /> 
<span><?=$rss->area_name?></span><br/> 
<?php 
    } 
?> 

레이블로 도시 이름을 가진 지역 이름을 표시하고 있습니다. 문제는이 ID 레이블이 주변 while 루프로 인해 각 영역 이름에 대해 추가된다는 것입니다. ID 레이블이 여러 번 반복되는 것을 방지하여 확인란이 속한 도시 ID 아래에 그룹화되도록하는 방법은 무엇입니까?루프에 다른 레이블이있는 여러 확인란들

+0

HTTP ://www.99acres.com/property/advanced_search.php 위치를 확인하고 싶습니다. 내 기록이 같습니다. – user1138383

답변

1

<legend>외부에서 while 루프로 바꿉니다.

(그리고 <label> 아닌 <span>이 ... 당신도 당신의 입력의 id를 해결해야합니다 사용, 그들이해야 독특한)

+0

루프에서 하나의 결과 만 표시되지만 9 개의 도시 ID가있는 경우 – user1138383

+0

@ user1138383 범례는 입력 라벨로 사용되지 않습니다. 이는 필드 세트에 라벨을 지정하는 데 사용됩니다. – diggersworld

+0

99acres.com/property/advanced_search.php 작동 예제는 – user1138383

1

방법에 대해 :

<?php 
$r=mysql_query("SELECT city.id as city_id, locality.id,locality.area_name ". 
       "FROM city, locality ". 
       "WHERE city.id = locality .city_id order by city_id"); 
$previous = ''; 
while($rss=mysql_fetch_object($r)) { ?> 
    <?php if (empty($previous) || $previous != $rss->city_id) { ?> 
     <legend><?=$rss->city_id?></legend> 
    <?php } ?> 
    <?php $previous = $rss->city_id; ?> 
    <input type="checkbox" name="sub_type[]" id="sub_type" value="<?=$rss->id?>" /> 
    <span><?=$rss->area_name?></span><br/> 
<?php 
} 
?> 
+0

완벽한 고맙습니다. 그리고 정확한 – user1138383

+0

@ user1138383 : 니스. 언제든지 답변을 수락하십시오. – Toto

+0

@ user1138383 답이 도움이되고 다른 사람에게 보여주고 싶다면 화살표를 클릭하여 (녹색으로 바꿈) 다른 사람이 그가 당신을 도왔다는 것을 알 수 있도록하십시오. 이것이 우리 공동체가 작동하는 방식입니다 (또한 "더 많은 평판"을 제공합니다). 그것은 모두 gamification에 기초하고 있으며, 당신은 그에게 "곧 레벨 업"하는 데 도움이되는 체크 표시를하고 있습니다. : D – jcolebrand

관련 문제