首页  >  文章  >  后端开发  >  请教高手PHP 多选复选框checkbox如何判断选中?

请教高手PHP 多选复选框checkbox如何判断选中?

WBOY
WBOY原创
2016-06-23 13:32:161004浏览

数据库字段content有如果下数据:
s1,s2,s3,s4,s5
数据随时会变动,如果只有:s1,s2,s5,但是s1和s2是固定存在的


HTML:



......



PHP:
$sql="select * from `user_role` ";
$row_role = $db->getRow($sql);
$row_role = $row_role['content'];
$role=explode(',',$row_role);//分割成数组


如何才能做到如果数据库有:s1,s2,s3,则s3是选中状态


回复讨论(解决方案)

<?php/*$sql="select * from `user_role` ";$row_role = $db->getRow($sql);$row_role = $row_role['content'];$role=explode(',',$row_role);//分割成数组*/$role = array('s1','s2','s3');?><input type="checkbox" name="content[]" <?php if(in_array('s1',$role) && in_array('s2',$role) && in_array('s3',$role)){ ?>checked="checked"<?php } ?>  value="s3" ><input type="checkbox" name="content[]"  value="s4" ><input type="checkbox" name="content[]"  value="s5" >

谢谢楼上朋友回复,问题是

$role = array('s1','s2','s3');

这句,s1、s2、s3....等是不定的,也可能是几十个,怎么改进?

你不是读db获取的吗?
我只不过是不读db而已。你读db,把选出的写入$role就可以了。

不同的规则,写不同的分支就可以了。
例如:
$s3check = 0;

if(xxx){
$s3check=1;
}elseif(xxx){
$s3check=1;
}elseif(xxx){
$s3check=0;
}else{
$s3check=1;
}

checked="checked"  value="s3" >

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn