關於PHP中複選框CheckBox的資料庫存取使用方法總結
本文基於PHP7.0與mysql資料庫5.5版本,主要闡述表單中的CheckBox多選按鈕對於資料庫的儲存以及提取顯示的一些方法的總結。
1. 表單中直接提取顯示:
eg:
<input type="checkbox" name="tag[]"value="1">1
<input type="checkbox" name="tag[]"value="2">2
<input type="checkbox" name="tag[]" value="3">3
<input type="checkbox" name="tag[]"value="4">4
php處理POST傳遞過來資料的程式碼如下:
$str_tag = "";
$tag = $_POST['tag'];
for($i=0;$i<count($tag);$i++){
if($i==0)
$str_tag = $tag[$i];
else
$str_tag =$str_tag.",".$tag[$i];
}
echo $str_tag;
上述處理資料的方法可使用php自帶方法implode,用於將陣列中的值連線成字串。
$tag = $_POST['tag'];
$str_tag = implode(',', $tag);
Echo $str_tag;
假如都選擇的情況下,上述結果都顯示為1,2,3,4
2.將表單中獲取的_POST資料儲存到資料庫
對於mysql複選框的數值插入可使用以下兩種方式:
① 使用value為資料庫欄位的方式插入:
<input type="checkbox" name="aihao[]"value="排球" >排球
<input type="checkbox" name="aihao[]"value="籃球">籃球
<inputtype="checkbox" name="aihao[]" value="足球">足球
php處理:
$tag = $_POST['aihao'];
$fav = implode(',', $tag);
Sql插入語句:insert into table(fav) values(“$fav”);
② 使用value為‘位’的方式的方式插入:
<input type="checkbox" name="aihao[]"value="1" />籃球
<input type="checkbox" name="aihao[]"value="2" />讀書
<input type="checkbox" name="aihao[]"value="4" />游泳
<input type="checkbox" name="aihao[]"value="8" />跑步
php處理:
使用系統方法array_sum()將_post接收的資料陣列相加:
$tag = $_POST['aihao'];
$fav = array_sum($tag);
Sql插入語句:insert into table(fav) values($fav);
3.將資料庫中的資料提取到表單顯示。
假設已經讀取資料庫資料儲存在變數$fav中.
Html表單如下:
<input type="checkbox" name="aihao[]"value="排球" >排球
<input type="checkbox" name="aihao[]"value="籃球">籃球
<inputtype="checkbox" name="aihao[]" value="足球">足球
① 先需要對資料$fav字串進行處理,使用explode()方法,使用指定的字元去分割一個數組,返回為一個數組。
② 再使用in_array()判斷,詳細如下所示:
<input type="checkbox" name="aihao[]"value="排球" <?php if( in_array(‘排球’,$fav) ) {echo‘checked’;} ?> >排球
<input type="checkbox" name="aihao[]"value="籃球" <?php if(in_array(‘籃球’,$fav)) {echo‘checked’;} ?> >籃球
<input type="checkbox" name="aihao[]"value="足球" <?php if(in_array(‘足球’,$fav)) {echo‘checked’;} ?> >足球
本帖完結。