データの削除

商品データを削除させるSQL文について

以前に作った下記の2のデータを削除してみましょう。

phpMyAdminからSHOP、productを選択し、SQLタブから「DELETE」をクリックします。ひな形書式が表示されますのでid=2と修正し、「実行」をクリック。

id2の情報が消せましたね。「表示」タブからでも確認してみましょう。

「id=2」が削除されていますね。

もちろん、もっと簡単なのは「削除」をクリックすることです。でも、いろいろな方法を学びましょう。

入力画面に「削除」を作り、商品データを削除する。

完成形はこんな感じです。削除のリンクを作成し、ここでは3を削除してみます。

表示タグから確認しても、id3のカップラーメンが削除されていることが確認できます。

それでは早速、作ってみましょう。

user-input.php

<?php require ‘header.php’; ?>

<div class=”th0″>商品番号</div>
<div class=”th1″>商品名</div>
<div class=”th1″>価格</div>

<?php
$pdo = new PDO(‘mysql:host=localhost;dbname=shop;
charset=utf8′,’staff’,’password’);
foreach ($pdo->query(‘select * from product’) as $row){
    echo ‘<form action=”user-output.php” method=”post”>’;
    echo ‘<input type=”hidden” name=”id” value=”‘, $row[‘id’], ‘”>’;
    echo ‘<div class=”td0″>’, $row[‘id’], ‘</div>’;
    echo ‘<div class=”td1″>’;
    echo ‘<input type=”text” name=”name” value=”‘, $row[‘name’], ‘”>’;
    echo ‘</div>’;
    echo ‘<div class=”td1″>’;
    echo ‘<input type=”text” name=”price” value=”‘, $row[‘price’], ‘”>’;
    echo ‘</div>’;
    echo ‘<div class=”td2″><input type=”submit” value=”更新”></div>’;
    echo ‘<a href=”delete-output.php?id=’, $row[‘id’],'”>削除</a>’;
    echo ‘</form>’;
}
?>
<?php require ‘footer.php’; ?>
「リクエストパラメータを伴うリンクの使用」
<a>タグを利用してます。
そしてdelete-output.phpが開きます。次にどの行を削除するのかを示すために、リクエストパラメータで商品番号を渡すためリンク先のファイルの後に?を付けます。
「書式;リンク先ファイル?リクエストパラメータ名=値」

delete-output.php

<?php require ‘header.php’; ?>

<?php
$pdo = new PDO(‘mysql:host=localhost;dbname=shop;
charset=utf8′,
‘staff’,’password’);
$sql = $pdo->prepare(‘delete from product where id=?’);
if ($sql->execute([$_REQUEST[‘id’]])){
    echo ‘削除できました’;
} else {
    echo ‘削除できませんでした’;
}

?>
<?php require ‘footer.php’; ?>
delete from product where id=?では値を設定したい部分を「?」にしておきます。
delete文を実行するには、prepareメソッドを使います。
?の部分に設定したいのは商品番号です。商品番号はリクエストパラメータのidに入っているので、$_REQUEST[‘id’]]で取得できます。配列にするため[ ]で囲みます。
この配列をexecuteメソッドに渡してSQL文を実行します。
PHPについて

この本から引用、参考にして学び、完成させることができました。しかし、ここではプログラミング初心者の私が詳しく解説することは、おこがましく、難しく出来ません(ToT)
その点、この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが3,000円弱ならコスパよく、買っておいてよかったと満足してます。


短期間でのレベルアップにはプロから学ぶのもありです。

キャリアアップに必要なスキルを取得しよう。

オンラインで受講ができるスクールですので、全国どこからでも。

就職・転職支援