「PHPとMySQLで削除ボタンからきた削除ページを作る」の編集履歴(バックアップ)一覧はこちら

PHPとMySQLで削除ボタンからきた削除ページを作る」(2015/08/21 (金) 00:11:59) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

前回記事[[再編集ボタンからきた編集ページを作る]]からの続きです。8月20日記事 ~ ~ 目次 #contents ~ ~ ---- ~ *設計 削除ページについては、フィールドに削除コマンドを走らせず、statusカラムを
前回記事[[再編集ボタンからきた編集ページを作る]]からの続きです。8月20日記事 ~ ~ 目次 #contents ~ ~ ---- ~ *設計 削除ページについては、フィールドに削除コマンドを走らせず、statusカラムを[[MySQLでテーブル作成1]]のようにstatusの値だけを変えて作っていきたいと思います。こちらのほうが、1、データを削除されても簡単に復元できるようにできる。2、消さないので、ディスク領域は消費するが、断片化しないので、シーク速度は速くなる。ということです。 ~ ~ *コード <p>次の内容を削除しますか?<br><br></p> <?php require('../config.php'); $dsn = 'mysql:dbname='.DB_NAME.';host='.DB_HOST.';port='.DB_PORT.''; $user = DB_USER; $password = DB_PASSWORD; try{ $dbh = new PDO($dsn, $user, $password); }catch (PDOException $e){ print('Connection failed:'.$e->getMessage()); die(); } $filter_id = filter_var($_POST[id],FILTER_SANITIZE_NUMBER_INT,FILTER_NULL_ON_FAILURE); //print $filter_id; $sql = "SELECT * FROM information WHERE id = :id"; $stmt = $dbh->prepare($sql); $stmt->bindValue(':id',$filter_id,PDO::PARAM_INT); $stmt->execute(); $result = $stmt->fetch(); ?> <p>公開日</p> <p><?php echo htmlspecialchars(mb_convert_encoding($result[info_date],"UTF-8","EUC-JP"),ENT_QUOTES,"UTF-8"); ?><br><br></p> <p>タイトル</p> <p><?php echo htmlspecialchars(mb_convert_encoding($result[title],"UTF-8","EUC-JP"),ENT_QUOTES,"UTF-8"); ?><br><br></p> <p>内容</p> <p><?php echo nl2br(htmlspecialchars(mb_convert_encoding($result[info_text],"UTF-8","EUC-JP"),ENT_QUOTES,"UTF-8")); ?><br><br></p> <p>URL</p> <p><?php echo htmlspecialchars(mb_convert_encoding($result[URL],"UTF-8","EUC-JP"),ENT_QUOTES,"UTF-8"); ?><br><br></p> <form action="info_deletecomplete.php" method="post"> <input type="hidden" name ="shop" value="<?php print htmlspecialchars($shop_name, ENT_QUOTES,"UTF-8");?>"> <input type="hidden" name="id" value="<?php print htmlspecialchars($result[id],ENT_QUOTES,'UTF-8');?>"> <input type="hidden" name="status" value="0"> <input type="submit" name="submit" value="はい"> <input type="button" value="戻る" onclick="history.back()"> </form> ~ ~ *削除完了ページ <?php require('../config.php'); $dsn = 'mysql:dbname='.DB_NAME.';host='.DB_HOST.';port='.DB_PORT.''; $user = DB_USER; $password = DB_PASSWORD; try{ $dbh = new PDO($dsn, $user, $password); }catch (PDOException $e){ print('Connection failed:'.$e->getMessage()); die(); } $filter_id = filter_var($_POST[id],FILTER_SANITIZE_NUMBER_INT,FILTER_NULL_ON_FAILURE); $status = $_POST["status"]; $sql = "UPDATE information SET status = :status WHERE id = :id"; //print $sql; $stmt = $dbh->prepare($sql); $stmt->bindValue(':id', $filter_id, PDO::PARAM_INT); $stmt->bindValue(':status', $status , PDO::PARAM_INT); $stmt->execute(); //返すのは成否(TRUE,FALSE) echo "<p>削除しました。</p>"; ?> ~ ~ *まとめ 確認画面ではただ単に表示だけさせて、次ページへidをinput type hiddenして送信します。

表示オプション

横に並べて表示:
変化行の前後のみ表示: