- ベストアンサー
PHPからMySQLの操作方法とは?データの削除方法も教えてください
- PHPでMySQLを操作し、ブラウザ上にデータを表示する方法を教えてください。
- 表示されているデータから選択したレコードを削除する方法はありますか?
- フィールドごとにチェックボックスを出力して、選択したデータをPHPに送信する方法を知りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>フィールドごとにチェックボックスを出力してvalue にフィールドの値を >セットしておきsubmit ボタンでvalue値を送信するような方法でしょうか。 そうです。それしかありません。 <input type="checkbox" name="deleid[]" value="<?= $row['id']; ?>" /> などとしたチェックボックスを各行に書いておけば、POSTデータを受け取ったスクリプトでは$_POST['deleid']という「配列」の各要素で(チェックした)idが受け取れます。 JavaScriptで「全選択」とか「全解除」のボタンを置いたりしますよね(見たことありませんか?) php云々の前にhtmlをしっかり学んでおいた方がいいように思います。 http://www.tagindex.com/html_tag/form/input_checkbox.html またhttpの仕組み(どのようにPOSTされ、それをスクリプトが受け取るのか)も今のうちにキチンと学んでください。
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
ユニークなデータを確定するときには通常プライマリーキーを利用します。 GETなどでプライマリキーを指定したURLへリンクをはり、 削除のSQLを発行すればよいでしょう。 <a href="?do=delete&key=100">削除</a> みたいな感じになるでしょうか? ただし、データの削除や編集をできるようなページを一般ユーザーに 公開するのはきわめて危険です。 管理者専用ページなどに限定し、セッションなどで管理者権限を確保した上で 運用することをお勧めします。
- t_ohta
- ベストアンサー率38% (5238/13705)
テーブル全体をformタグで囲って、レコード毎にチェックボックスを作成し、チェックボックスのvalueにレコードのID等をセットしておいて、フォームで送信されてきた値をPHPで受け取りチェックしてレコードを削除するというのが一般的じゃないでしょうか。
お礼
複数の方からアドバイス頂きありがとうございました。 全員をベストアンサーにできないので代表しました。 この問題、チェックボックスを使うことは直に考えましたが、もっと気の利いた方法があるのではないかと思い質問させて頂きました。