2012-01-12 83 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標籤被重複多次,以便複選框分組在他們所屬的城市ID下面?在迴路中使用不同標籤的多個複選框

+0

HTTP:/ /www.99acres.com/property/advanced_search.php檢查我想要顯示的位置我的記錄 – user1138383 2012-01-12 13:21:17

回答

1

移動<legend>因此它是以外的 while循環。

(並使用<label>不是<span> ......你需要解決您輸入的id過,他們必須獨特

+0

如果從循環取出它只顯示一個結果,但我有9個城市編號 – user1138383 2012-01-12 13:19:38

+0

@ user1138383圖例不用於標記輸入它用於標記現場集。 – diggersworld 2012-01-12 13:22:48

+0

99acres.com/property/advanced_search.php它是工作示例在此 – user1138383 2012-01-12 13:23:39

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

wao工作完美thanx ...我感謝您的回答...快速並準確地 – user1138383 2012-01-12 13:28:17

+0

@ user1138383:很好。隨時接受答案。 – Toto 2012-01-12 13:32:05

+0

@ user1138383如果答案對您有幫助,並且您想向其他人顯示它已完成,請點擊箭頭(將其變成綠色),以便其他人知道他幫助了您。這就是我們社區的工作方式(並且也爲您提供「更多聲譽」)。這一切都基於遊戲化,而你給他一個複選標記可以幫助他很快「升級」。 :D – jcolebrand 2012-01-12 16:27:52