写在最开始: 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"';} ?> >