connet.lolipop.jp
更新フォーム
IDとNAME及びUPDATED(timestamp)の更新はしません。

update.php
           <?php
             // 一回のみ読み込み
             require_once("personDB.php");
             
             $personid = $_GET['id'];
             $db = executeQuery();
             $sql = "SELECT * FROM persontbl WHERE id = '".$personid."';";
             $result = $db->query($sql);
             
             if(!$result){
             	echo 'Error!';
             } else {
             	foreach ($result as $row) {
                  $personid = $row["id"];
                  $name = $row["name"];
                  $address = $row["address"];
                  $email = $row["email"];
                  $phone = $row["phone_number"];
                  $memo = $row["memo"];
                  $updated = $row["updated_at"];
             	}
             }
             ?>
						 
             <!DOCTYPE html>
             <html  lang="ja">
             <head>
             <meta charset="utf-8">
             <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
             <title>編集フォーム</title>            
             <style>
             body {
               font-family: Arial, Helvetica, sans-serif;
               padding: 10px 20px;
               color: #333;
               background:#FCF7E7;
             }
             div a {
               font-size:1.1rem;
               color:#BC0000;
               text-decoration:underline;
             }
             .inpsubmit {
               margin-left:-8px;
               margin-bottom:20px;
               border:none;
               font-size:14px;
               color:#BC0000;
               background:transparent;
               text-decoration:underline;
               cursor:pointer;
             }
             </style>
             </head>
             <body>
              <h1>Editing</h1><br />
             	<form id="contact-form" action="update2.php" method="POST">
             	<table>
                  <tr><td>ID:</td><td><input type="text" name="id" value="<?= $personid ?>" readonly></td></tr>
                  <tr><td>NAME:</td><td><input type="text" name="name" value="<?= $name ?>" readonly></td></tr>
                  <tr><td>ADDRESS:</td><td><input type="text" name="address" value="<?= $address ?>"></td></tr>
                  <tr><td>EMAIL:</td><td><input type="text" name="email" value="<?= $email ?>"></td></tr>
                  <tr><td>TEL:</td><td><input type="text" name="phone_number" value="<?= $phone ?>"></td></tr>
                  <tr><td>MEMO:</td><td><input type="text" name="memo" value="<?= $memo ?>"></td></tr>
                  <tr><td>UPDATED:</td><td><input type="text" name="datetime" value="<?= $updated ?>" readonly></td></tr>
             	</table>   
             	<div><br />
             	 <input type="submit" value="Save" class="inpsubmit" />
             	</div>
             	</form>
             	<div>
                <a href="select.php">Address table</a><br /> 
                <a href="index.html">Index</a>
             	</div>
             </body>
             </html>
DBへ更新処理
更新フォームからデータを取得して、DBへコミットします。

update2.php
            <?php
            require_once("personDB.php");
            
            $personid = htmlspecialchars($_POST['id'], ENT_QUOTES, 'UTF-8');
            $name = htmlspecialchars($_POST['name'],ENT_QUOTES, 'UTF-8');
            $address = htmlspecialchars($_POST['address'],ENT_QUOTES, 'UTF-8');
            $email= htmlspecialchars($_POST['email'], ENT_QUOTES, 'UTF-8');
            $phone= htmlspecialchars($_POST['phone_number'], ENT_QUOTES, 'UTF-8');
            $memo= htmlspecialchars($_POST['memo'], ENT_QUOTES, 'UTF-8');
            // 更新処理では再度、更新日を取得する。
            date_default_timezone_set('Asia/Tokyo');
            // 24時表示
            $updated = date("Y-m-d G:i:s");
            
            $db = executeQuery();
            $sql = 'UPDATE persontbl SET name = "'.$name.'" , address = "'.$address.'" , email = "'.$email.'" , phone_number = "'.$phone.'" , memo = "'.$memo.'" , updated_at = "'.$updated.'" WHERE id = "'.$personid.'";';
            $result = $db->exec($sql);
            if (!$result) {
            	echo 'Error!';
            }
            ?>
						
            <!DOCTYPE html>
            <html  lang="ja">
            <head>
            <meta charset="utf-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
            <title>DBへ更新処理</title>
            <style>
            body {
            font-family: Arial, Helvetica, sans-serif;
            padding: 10px 20px;
            color: #333;
            background:#FCF7E7;
            }
            div {
            position:relative;
            top:30px;
            }
            div a {
            font-size:1.1rem;
            color:#BC0000;
            text-decoration:underline;
            }
            </style>
            </head>
            <body>
            <h1>Finish editing</h1>
            <table>
              <tr><td>ID:</td><td><input type="text" name="id" value="<?= $personid ?>"></td></tr>
              <tr><td>NAME:</td><td><input type="text" name="name" value="<?= $name ?>"></td></tr>
              <tr><td>ADDRESS:</td><td><input type="text" name="address" value="<?= $address ?>"></td></tr>
              <tr><td>EMAIL:</td><td><input type="text" name="email" value="<?= $email ?>"></td></tr>
              <tr><td>TEL:</td><td><input type="text" name="phone_number" value="<?= $phone ?>"></td></tr>
              <tr><td>MEMO:</td><td><input type="text" name="memo" value="<?= $memo ?>"></td></tr>
              <tr><td>UPDATED:</td><td><input type="text" name="datetime" value="<?= $updated ?>"></td></tr>
            </table>
            <div>
              <a href="select.php">Address table</a><br /> 
              <a href="index.html">Index</a>
            </div>
            </body>
            </html>
レコード削除
削除したいデータ(レコード)のIDを、全データ表示ページから受け取り、DBへ処理をコミットする。
処理後、最新の全データをページに再表示させます。

delete.php
            <?php
            require_once("personDB.php");
            
            $personid = $_GET['id'];
            $db = executeQuery();
            $sql = "DELETE FROM persontbl WHERE id = '". $personid ."';";
            $result = $db->query($sql);
            if (!$result) {
            	echo 'Error!';
            }
            // 全データ表示
            header('Location: select.php');
            ?>
スタートページ
index.html
            <!DOCTYPE html>
            <html  lang="ja">
            <head>
            <meta charset="utf-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
            <title>INDEX</title>
            </head>
            <style>
            body {
              font-family: Arial, Helvetica, sans-serif;
              padding: 10px 20px;
              color: #333;
              background-color:#FCF7E7;
            }
            .allshows {
              margin-top: 30px;
            }
            .allshows a {
              margin-top: 30px;
              font-size:1.1rem;
              color:#BC0000;
              text-decoration:underline;
            }
            </style>
            <body>
            <h1>PHP SQLITE -Yeti Table</h1>
            <div class="allshows"><a href="select.php">Address table</a></div>
            </body>
            </html>

これで、各種ページの作成は終了です。
プログラムを実行する
それでは、完成したプログラムをブラウザに表示してみましょう。
・Webサーバー(Apach)を起動
・ブラウザを立ち上げ、アドレスバーに以下のように入力します
 http://localhost/sampledatatable/
・ブラウザの更新をクリック

問題なく表示されたでしょうか、確認してみて下さい。
Search
Google


↟ このページの先頭へ