- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数選択した場合のチェックボックスの受け渡しについて!)
複数選択した場合のチェックボックスの受け渡しについて!
このQ&Aのポイント
- Mysqlで日記データを抽出し、書いたり更新したり削除したりする場合、セレクトフォーム形式では一つずつ削除する必要があります。しかし、チェックボックス形式に変更すれば複数の日記を一度に削除できます。
- チェックボックス形式での削除は初めての試みですが、チェックボックスのname属性を"checkbox[]"とすることで、複数の値を受け取ることができます。
- チェックボックスを使用して複数の日記を一括で削除する場合、HTMLフォームのname属性を"checkbox[]"とし、PHPで受け取る際には$_POST['checkbox']を使用し、ループ処理で個々の日記IDを取得することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
見たところ、あってるようです。 "checkbox[]"という名前が何なのかというと、 PHPでは、変数を配列にしたときに配列に値を追加する方法が二つあります。 <?php //一つ目 array_push($array, $value); //二つ目 $array[] = $value; ?> こんな感じです。 HTMLのINPUTタグでも、checkbox[]のように「[]」をつけてやることで、 name属性に同じ値でも「二つ目」と同じように、配列に値を追加するように展開されます。 なので、$_POST['checkbox']には、value属性があるだけ挿入されるようになります。なので、 >$result =$_POST['checkbox']; >foreach($result as $id) HTMLタグ及び上記の書き方は正しいと判断されるものですが、実際に、画面上に取得されたHTMLのソースは正しく表示されているかPCのブラウザで、開いてみて、ソースを確認してみてください。 value属性に$idがちゃんと入っていて、formタグの囲いの中に全部存在してますか? 後は、foreach文のなかで、作成されたであろうSQL文は正しい記述になっていますか?
お礼
hogehoge78さんこんにちわ! いつもおせわになっております。 ソースは大丈夫なんですねっ(*^-^*) 安心しました。 >>formタグの囲いの中に全部存在してますか? だいじょうぶみたいでした! >>後は、foreach文のなかで、作成されたであろうSQL文は正しい記述になっていますか? 大丈夫だと思います! セレクトフォームの時にきちんと削除できていました。 そこにforeach構文を付け加えました。 もう一度確かめてみたいと思います。 度々すいません。 ありがとうございました!ヽ(-^.^-)ノ それと・・・前回教えていただいた絵文字はできました。 変換テーブルも一つ一つ作りきちんと出るようになりました。 また一つ成長しました。 hogehoge78さんと教えてくださった皆さんのおかげです。 有り難う御座います!