我想要的结果是$row['id']==$value 复选框就打上√,其它不相等的就直接显示出来!
现在的问题是复选框能上√,但那些没打上√的不会显出来,如果在whiel循环里多加一条
echo<<
希望能各位朋友帮个忙
回复讨论(解决方案) foreach($authority as $value){ $checked = $row['id']==$value ? 'checked' : ''; echo<<
if($row['id']==$value){ echo<<
你只让程序显示了相等的情况,没让程序显示不相等的情况
if($row['id']==$value){ echo<<
这样每遍历一次数组,他就会重复,这个我试过不行
if($id==$value){}else{}
这怎么会重复的。。
就一个条件,要么是要么否。。
if($id==$value){}else{}
这怎么会重复的。。
就一个条件,要么是要么否。。
因为有丙次的盾环在那里: foreach 与while 循环
while 循环一次, foreach 要循环4次因为$authority数组有4个值,在这4个值里面只有一个值是跟$id配置的,如果你在if里加入else 那他就会同一记录出现重3次if else里的值
foreach($mysqlresult as $row){ $hasvalue = false; foreach($authority as $value){ if($row['id']==$value){ $hasvalue = true; } } if($hasvalue){ echo 'yes'; }else{ echo 'no'; } }
暂时只想到这个办法,不知有没有改进版的
问题解决,解决代码如下,谢谢热心的朋友提醒
版主的这个方法,不但会重复就连那个选择口也不会出来,不过还是谢谢你的热心