<?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下分组?
发布于 2012-01-12 21:17:09
移动<legend>,使其位于while循环之外。
(并且使用<label>而不是<span>…您还需要修复输入的id,它们必须是唯一的)
发布于 2012-01-12 21:26:53
这样如何:
<?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
}
?>https://stackoverflow.com/questions/8835652
复制相似问题