【php】模板页面展示复选框已选中选项和数据

写在最开始: 2)我们这里流程是编辑、修改 已经存储的数据。

1、【修改】功能页面:  

2、代码:HTML

<dt>民宿设施</dt>
                <dd><label><input name="hotelFacility[]" type="checkbox" {if in_array(263,$leagueArr['hotelFacilityArr2'])} checked {/if} value="263">接站服务</label></dd>
                <dd><label><input name="hotelFacility[]" type="checkbox" {if in_array(105,$leagueArr['hotelFacilityArr2'])} checked {/if} value="105">接机服务</label></dd>
                <dd><label><input name="hotelFacility[]" type="checkbox" {if in_array(97,$leagueArr['hotelFacilityArr2'])} checked {/if} value="97">行李寄存</label></dd>
                <dd><label><input name="hotelFacility[]" type="checkbox" {if in_array(98,$leagueArr['hotelFacilityArr2'])} checked {/if} value="98">叫醒服务</label></dd>
                <dd><label><input name="hotelFacility[]" type="checkbox" {if in_array(178,$leagueArr['hotelFacilityArr2'])} checked {/if} value="178">外送洗衣服务</label></dd>
                

3、核心:

 1)复选框中,name对应字段为aabb[] 形式,后面带上[]; -- 后台得到该字段,数组转字符串存储。

 2)编辑、修改,那么需要将上面转换的字符串再次切割成数组(一定要是一维数组),explode("," $Str);

 3)模板页面,使用in_array(" 变量 ", $Arr),判断在不在里面(在里面输出checked即可),如果你使用的类似Smarty模板引擎的,可以参考上面的代码

 4)原生的php可以参考这里

<?php
// 连接数据库,把对应记录获取
$sqlstr = "select * from 表 limit 1";
$query = mysql_query($sqlstr);
$result = mysql_fetch_assoc($query); // $result就是你的数据记录

$rols = explode(',', $result['rol']); // 分解为数组

然后判断:
?>
<input type="checkbox" name="rol[]" value="1" id="rol_0" <?php if(in_array(1, $rols)){ echo 'checked="checked"';} ?>  >
原文地址:https://www.cnblogs.com/xuzhengzong/p/8405910.html