ここまでの記事はこちら
今回は最後の総仕上げです。データベースに登録した画像を削除できるようにしていきましょう。
動画
解説
削除リンクの変更
list.php の削除リンクを 9 ~ 11 行目のように変更します。
9行目
<a href="javascript:void(0);"
ここでは、「削除」をクリックした時に何も起こらないように a タグのリンクを無効にしています。
10行目
「削除しますか?」という確認アラートを出して、「OK」が押されたら delete.php に移動するという処理を書いています。
少し複雑そうに見えますが、以下の 4 行を 1 行にまとめているだけです。
var ok = confirm('削除しますか?');
if (ok) {
location.href='delete.php?id=<?= $images[$i]['image_id']; ?>';
}
「キャンセル」が押された場合は何も処理を実行しません。
画像を削除する
次に画像削除の処理を書く delete.php ファイルを作成します。
delete.php という名前でファイルを作成して、以下のようにコードを書きます。
image.php と同じように image_id を受け取とり、その image_id をもとにデータを削除します。
削除したら list.php に遷移して完了です。
まとめ
これで全て完成です!
画像を扱うウェブアプリを開発するときは、今回のように画像をデータベースに保存するか、画像ファイルをフォルダにアップロードして使うか迷うところです。
プロジェクトによりますが、私が開発するときは
- 画像が mediumblob 型で保存できるサイズである
- ユーザーのプロフィール画像・アイコンなど、特定のユーザーとリンクしている画像である
- 画像投稿が複数のユーザーから同時に行われる可能性が高い
場合は、データベースへ直接保存する方法をとるようにしています。
どちらが良い・悪いというものではないので、ご自身のプロジェクトに合わせてお選びください
このプロジェクトのサンプルコードは「DOWNLOAD」ボタンから一括でダウンロードできます。
【PHP・MySQL】データベースに画像ファイルを保存・表示する方法(サンプルコード)
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。
オンラインスクールを選ぶときのポイント
- 無料体験があること
- 個別サポートがあること
自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません。)
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。
ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい????
1. TechAcademy(テックアカデミー)
2. CodeCamp(コードキャンプ)
3. Treehouse
英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。
サンプルコードをそのまま使用したのですが、どうしても画像がばってんになってしまい表示されません。どうすればよろしいですか。
画像はデータベースに正しく保存されていますでしょうか?