PHP データベースを利用したWebアプリケーションの開発【第五回】データの削除 delete

【第三回】で作成した一覧ページに、削除ボタンを設置しましたが、今回「削除」ボタンにデータ削除の機能を実装します。

この記事の著者 ->S.E; です。

普段は、システム開発に必要なヒアリング、システムの要件定義、設計からプログラマとしてWebサイトやWebアプリケーションの開発、WordPressでのブログの執筆やサーバー運用・管理を行っています。

このページは「未経験の為のプログラミング講座 ゼロから始めるPHPプログラミング〜初級から実践編までを網羅〜」としてPHPの基本的な部分を【初級編】【中級編】【上級編】に分けて解説しています。最終的には簡単なフォームやシステム開発をフルスクラッチで行うことを目的としています。また、参考になる書籍なども紹介しています。

会員情報一覧ページに削除機能を実装する

第三回で作成したlist.phpは以下のソースコードとなります。

削除ボタンはすでに記述しているので、クリック後の処理部分を開発します。

削除機能をclass.Member.phpに追記する

では削除の処理をクラスファイルに追記します。

フラグを利用した削除方法

会員情報を登録するテーブルには「test_delete_key」カラムを用意しています。通常時は「0」、削除時は「1」としているのでUPDATE文で「test_delete_key」を「1」に更新することで、システム上削除したことになります。

DELETE文を利用した削除方法

UPDATE文により「test_delete_key」を「1」に更新し、システム上削除した状態であっても情報はデータベースに残っています。間違って削除した場合などデータと復旧するのは容易ですが、システムの要件でデータベースより完全に削除が必要な場合は、DELETE文でデータベースより完全に削除する必要があります。

DELETE文を利用した記述は下記のようになります。

HTML(list.php)にスクリプトを埋め込む

削除用のスクリプトをクラスに追加したので、削除を実行するためのスクリプトをlist.phpに埋め込みます。

注意点は削除用のインスタンスを行うことです。
一覧取得用のものと同じインスタンスを利用するとsetTestIDにIDをセットしてしまうので一覧の情報が取得できません。取得するために、削除部分より上部にgetDataを持ってくると、今度は、削除前の状態の一覧を取得するため、削除した会員情報も取得し一覧に掲載してしまいます。

今回は、処理結果を echo し exit するのではなく、$mes に処理結果を代入し、一覧ページの上部に表示する仕様で作成しました。

created by Rinker
Webアプリケーションにはなぜ脆弱性が生まれるのか?脆弱性を解消するにはどうプログラミングすればよいか?PHPサンプルへの攻撃を通して脆弱性が生まれる原理と具体的な対処方法が学べる!
created by Rinker
「この目的を実現するためには、どの文法テクニックが適合しやすいだろう」?「このプログラムをより読みやすくするために、どんなアプローチができるだろう」?といったことを思考しつつ、「とりあえずは動く」だけで終わらない、現場に求められる品質を形にするための知識とテクニックを解説します。
created by Rinker
Webアプリケーションの定番言語であるPHPの基礎から実践までを、上下巻のフルボリュームで集大成。「この目的を実現するためには、どの文法テクニックが適合しやすいだろう」?「このプログラムをより読みやすくするために、どんなアプローチができるだろう」?

データベースを利用したアプリケーションを開発してみて

これでデータベースを利用したアプリケーションの開発は完了です。

今回、全五回にわたって解説した内容は、あくまで初歩的な部分のみで、エラーの処理や条件の分岐など実際にはもっと多くの処理を記述する必要がありますが、CRUDを利用するシステム開発としては基本的にはこのような流れとなります。

また、操作画面のデザインなどもCSSやフレームワークなどを利用し行う必要があります。

created by Rinker
PHP7の基本構文から、クラス、DB連携、セキュリティ対策まで、しっかり習得! PHPプログラミングの標準教科書『独習PHP』が、最新のPHP7に対応。PHPでWebページ/アプリケーションを開発する際に必要な基礎的な知識、PHPの基本構文から、クラス、データベース連携、セキュリティまで、詳細かつ丁寧に解説します。
created by Rinker
時間がなくたって、プログラミングは学べます。学習を躊躇していた人たちに、既存の入門書で挫折した人たちに、「これならできる!」の最短カリキュラムを、土日の14時間で提供。まったくのプログラミング初心者が簡単なWebデータベースアプリを構築できるまでの成長コースを、手取り足取り、導きます。

コメントする

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)