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