Heim >Backend-Entwicklung >PHP-Tutorial >请教高手PHP 多选复选框checkbox如何判断选中?

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

WBOY
WBOYOriginal
2016-06-23 13:32:161035Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP实现简易的汉字验证码的思路Nächster Artikel:PHP 标记风格