php擷取複選框checkbox值內容執行個體_PHP教程

來源:互聯網
上載者:User
checkbox在html中是以數組形式儲存的,如果我們要擷取使用者選擇了我個checkbox值我們可以利用遍曆或直接把數組利用implode轉換在字元進行儲存。

php要求同名表單元素用數組形式命名,並賦予value。否則他不能分解。

例1:利用foreach遍曆checkbox

代碼如下 複製代碼



提交後,用$_POST['chk']訪問。數組中的元素為選中的複選框的值

PHP代碼:

代碼如下 複製代碼

foreach( $_POST["chk"] as $i=>$a )
{ echo $i."==>".$a."
"; }
//或者使用$_POST["chk"][0]單獨使用
?>

結果:

0=>1
1=>2
2=>3

例2利用explode

代碼如下 複製代碼


'中文普通話', '11'=>'日語', '10'=>'朝鮮語', '9'=>'西班牙語', '8'=>'俄語', '7'=>'德語', '6'=>'法語', '5'=>'英語', '4'=>'少數民族語言', '3'=>'中文閩南語', '2'=>'中文粵語', '12'=>'其它國家語言', ); $lang = $_POST['lang']; if (is_array($lang)){ $cbsports = '
    '; foreach ($CACHE['lang'] as $key => $val) { $cbsports .= '
  1. '.$val.'
  2. '; } $cbsports .= '
'; echo $cbsports; } else { echo '請勾選後提交'; } ?>

如果需要儲存到資料庫,按照下面的方式處理後,把$expr的值儲存即可。

代碼如下 複製代碼

if(!emptyempty($lang)) { $expr = join(",", $lang); }

顯示的時候再這樣處理後就可以重建原來的數組。

代碼如下 複製代碼

$lang = explode(',',$row(lang));

備忘:使用serialize() 和unserialize() 可以直接儲存數組,不過欄位要text類型,不太理想。

例3、需要同時刪除多項,或同時修改多項記錄

要點:

1,前端表單中name要加[],如:
2,後端接受如:$id = $_POST [id] [$i]; $i為for中的迴圈變數,當$i相同時可以使得$_POST [id] [$i]和$_POST [name] [$i]為一一對應;

一,前端表單:

代碼如下 複製代碼


二,服務端處理代碼

代碼如下 複製代碼

/**
* 批量修改狀態
*/
public function updateList() {
$result = false;
for($i = 0; $i < count ( $_POST [id] ); $i ++) {

$id = $_POST [id] [$i];
$check = $_POST [check] [$i];
$status = $_POST [status] [$i];

// 儲存登入資訊
$Repair = M ( 'Repair' );
$data ['id'] = $id;
$data ['check'] = $check;
$data ['status'] = $status;
$result = $Repair->save ( $data );
}

if (false !== $result) {
$this->success ( '修改成功!' );
} else {
$this->error ( '修改失敗!' );
}
}

http://www.bkjia.com/PHPjc/633133.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/633133.htmlTechArticlecheckbox在html中是以數組形式儲存的,如果我們要擷取使用者選擇了我個checkbox值我們可以利用遍曆或直接把數組利用implode轉換在字元進行儲存...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.