Rumah  >  Artikel  >  pembangunan bahagian belakang  >  请教高手PHP 多选复选框checkbox如何判断选中?

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

WBOY
WBOYasal
2016-06-23 13:32:161004semak imbas

数据库字段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" >

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP实现简易的汉字验证码的思路Artikel seterusnya:PHP 标记风格