ホームページ  >  記事  >  バックエンド開発  >  PHP チェックボックス値の内容を取得する例_PHP チュートリアル

PHP チェックボックス値の内容を取得する例_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:44:09877ブラウズ

チェックボックスは HTML の配列形式で保存されます。ユーザーが選択したチェックボックスの値を取得したい場合は、トラバーサルを使用するか、implode を使用して配列を文字に直接変換して保存します。

php では、同じ名前のフォーム要素に配列形式で名前を付け、値を割り当てる必要があります。そうでなければ彼は分解できません。

例 1: foreach を使用してチェックボックスを走査する

送信後は$_POST['chk']でアクセスしてください。配列内の要素は選択したチェックボックスの値です
コードは次のとおりです コードをコピー
<入力タイプ = チェックボックス名 = "chk[]" 値 = 1> <入力タイプ=チェックボックス名="chk[]" 値=2> <入力タイプ=チェックボックス名= "chk[]" 値=3>


PHPコード:

コードは次のとおりですコードをコピー foreach( $_POST["chk"] as $i=>$a )
{ echo $i."==>".$a."
" }

//または $_POST["chk"][0] を単独で使用します
?>


結果:

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

explodeを使用した例2

コードは次のとおりです コードをコピー


  • 中国語
  • 日本語
  • 韓国語
  • ;input type="checkbox" name="lang[]" id="lang" value="9" />スペイン語ロシア語
  • フランス語English
  • 少数言語
  • 中国語福建語
  • 中国語広東語
  • < input type="checkbox" name="lang[]" id="lang" value="12" />/li> ; $CACHE['lang'] = array( '1'=>'中国語', '11'=>'日本語', '10'=>'韓国語', '9'=>'スペイン語' 、'8'=>'ロシア語'、'7'=>'ドイ​​ツ語'、'6'=>'フランス語'、'5'=>'英語'、'4'=>'少数言語', '3'=>'中国語の福建語', '2'=>'中国語の広東語', '12'=> ;'その他の国語', ); $lang = $_POST['lang']; (is_array($lang)){ $cbsports = '
      '; foreach ($CACHE['lang'] as $ key => $val) { $cbsports .= '
    1. <入力タイプ="checkbox" name="lang[]" id="lang" value="'.$key.'" '.( in_array($key,$lang) ? 'checked="checked"' : '')。 ' />'.$val.'
    2. ' } $cbsports .= '
    ' ; echo $cbsports; } ?>

    入力名="送信" 値="送信"

    データベースに保存する必要がある場合は、次の方法で処理した後、$expr の値を保存するだけです。

    表示時にこのように処理すると元の配列が再生成されます。

    コードは次のとおりです コードをコピー

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

    コードは次のとおりです コードをコピー

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

    注: Serialize() と unserialize() を使用して配列を直接保存できますが、フィールドはテキスト型である必要があり、これは理想的ではありません。

    例 3: 複数のレコードを同時に削除するか、複数のレコードを同時に変更する必要がある

    ポイント:

    1. フロントエンド フォームの名前に [] を追加します (例: ) 2. バックエンドは次を受け入れます: $id = $_POST [id] [$i]; $i が同じ場合、$_POST [id] [$i] と $_POST [name ]。 [$i] は 1 対 1 の対応です。
    1. フロントエンドフォーム:


    コードは次のとおりです
    コードをコピー

    <フォーム名="form1" メソッド="post" アクション="__GROUP__/Repair/updateList">
    選択した操作:


                                                                                                                                                                                                                                                                                                                                                                                                                ​  onclick="checkAll()" />/th> をすべて選択します
    キャンパス
                                                                                                                                                                                       で & Lt; 番目のスコープ = "色" & gt; / 番目 & gt; 修理時間
    修理ステータス
                                                                                              &lt; volist name = "list" id = "vo"&gt;
                                                                                                               

    で                                                                                                                                                                                                                 ​                                                                                                                                                                                                                   ​                                                                                                                                                                                                                ​                                                                                                                                                                                                                  ​                                                                                                                                                                                                                                                                               & Lt; td & gt; 名前 = "チェック" & gt; スイッチ名 = "vo.check" & gt;                                                                                                                                                                                          
                               
                                <デフォルト />
                               
                               
                               
                       
                                                                                                                                                                                                                                                                                                         


    2. サーバー側の処理コード
    {$vo.id}



    コードは次のとおりですコードをコピー
    /**

    * * ステータスをバッチで変更します

    ​​*/
    パブリック関数 updateList() {
    $result = false;
    for($i = 0; $i                                                 $id = $_POST [id] [$i];
    $check = $_POST [check] [$i];
    $status = $_POST [ステータス] [$i];
                                                    //ログイン情報を保存します
    $Repair = M ('修復');
    $data ['id'] = $id;
    $data ['check'] = $check;
    $data ['ステータス'] = $status;
    $result = $Repair->save ($data);
    }

    If (false !== $result) {
    $this->success ( '変更成功!' );
    } else {
    $this->error ( '変更に失敗しました!' );
    }
    }




    http://www.bkjia.com/PHPjc/633133.html
    www.bkjia.com

    tru​​ehttp://www.bkjia.com/PHPjc/633133.html技術記事チェックボックスは HTML の配列の形式で保存されます。ユーザーが選択したチェックボックスの値を取得したい場合は、トラバーサルを使用するか、implode を使用して配列を文字に直接変換して保存することができます...
    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。