<?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 下?
移动<legend>
使其位于 while 循环之外。
(并使用<label>
而不是<span>
...您还需要修复输入的id
,它们必须是唯一的(
怎么样:
<?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
}
?>