1. 程式人生 > >關於PHP中複選框CheckBox的資料庫存取使用方法總結

關於PHP中複選框CheckBox的資料庫存取使用方法總結

本文基於PHP7.0mysql資料庫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’;}  ?> >足球

本帖完結。