[英]while loop inside foreach
我正在尝试创建一个具有多个选择的分层选择菜单。 我选择类别,并将它们存储在逗号分隔的数组中.etc(1,5,10)。 一切正常,但每次我在下拉列表中选择while循环echo的重复值时,我选择另一个值。 有没有其他方法我可以做到这一点没有重复值?
$tree = '<select name="an_det_category[]" class="an_det_category" multiple>';
$var=explode(",",$row_detail_rec['an_det_category']);
print_r(array_values($var))
foreach ($var as $var1){
$result10 = mysql_query("select * from announcment_categories where an_parendid=0 and an_langid=".$_GET['langid']."");
while ($row= mysql_fetch_array($result10)){
if ($row['an_location']==$var1){$ka='"selected="selected"">';
}else{
$ka='">';
}
$tree .= '<option value="'.$row['an_location'].$ka;
$tree .= $row['an_name'];
$tree .= '</option>';
$tree .= getLowerRanks($row['an_location'],1,$var1);
}
}
$tree .= '</select>';
不要做for
循环。 只需遍历数据库结果,并使用in_array
来测试当前类别是否属于所选类别之一。
while ($row = mysql_fetch_array($result10)) {
if (in_array($row['an_location'], $var)) {
$ka = 'selected="selected"';
} else {
$ka = '';
}
$tree .= "<option value='{$row['an_location']}' $ka>";
$tree .= $row['an_name'];
$tree .= '</option>';
// I'm not sure what this is, or how to reproduce it in this version
// $tree .= getLowerRanks($row['an_location'], 1, $var1);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.