$sql = "SELECT `id` , `name`
FROM `interior_authority`";
$row['authorityid']= "a,b,c,d,e";//这个是值是为了方便查看加上去,原本这个值是从数据库里读取出来的。
$authority = explode(",",$row['authorityid']);
//$row数组$row[id]值分别为"a,b,c,d,e,f,c",这值也是为了方便查看加上去的,原值是从数据库读取出来的。
$sql = mysql_query($sql,$conn);
while($row = mysql_fetch_array($sql)){
foreach($authority as $value){
if($row['id']==$value){
echo<<
EOD;
}
}
}
?>
我想要的结果是$row['id']==$value 复选框就打上"√",其它不相等的就直接显示出来!
现在的问题是复选框能上"√",但那些没打上"√"的不会显出来,如果在whiel循环里多加一条
echo<<
EOD;
那他就会重复显示;
希望能各位朋友帮个忙 PHP根据条件循环显示 分享到:
------解决方案--------------------
foreach($authority as $value){
$checked = $row['id']==$value ? 'checked' : '';
echo<<
EOD;
}------解决方案--------------------
foreach($mysqlResult as $row){
$hasValue = false;
foreach($authority as $value){
if($row['id']==$value){
$hasValue = true;
}
}
if($hasValue){
echo 'yes';
}else{
echo 'no';
}
}暂时只想到这个办法,不知有没有改进版的