スポンサードリンク

PHP 追加、更新、削除を行なうプログラム。

今回はPHPからデータベースに対して、実際に追加、更新、削除を行なう部分のプログラムを作成します。

確認画面のページから送られてきたデータを受け取り、SQL文を組み立てて実行するだけなので、それほど難しくありません。これまでに学んできた知識で十分理解できると思います。

データベースの追加、更新、削除ができるようになれば、いろいろ応用ができるので、このあたりからプログラミングが楽しくなってくる頃です。物作りをしている充実感のようなものが味わえます。


【1】sample104 フォルダをコピーして sample105 フォルダを作成します。

php-206.gif


【2】今回は以下のようなファイルの構成になります。

php-207.gif

・SampleDB050.php、select.php、update.php、delete.php、insert.php は前回の sample104 と同じものなのでソースコードは省略します。

・update2.php、delete2.php、insert2.php は新規に作成します。

*「\」はWindowsではエンマークのことです。

保存先 C:\phpdev\www\test\sample105
ファイル名 update2.php

<?php
  //ファイルを読み込む
  require_once("SampleDB050.php");

  //データを取得する
  $prefCd = $_POST['cd'];
  $prefName = $_POST['name'];

  // クエリを送信する
  $sql = "UPDATE T01Prefecture SET PREF_NAME = '".$prefName."' WHERE PREF_CD = ".$prefCd;
  $result = executeQuery($sql);
?>

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=SHIFT-JIS">
    <title>更新</title>
  </head>
  <body>
    <h3>更新</h3>
    <?= $sql ?><br />
    <p><?= $prefName ?> に更新しました。</p>
    <a href="select.php" target="_self">全件表示へ</a>
  </body>
</html>


保存先 C:\phpdev\www\test\sample105
ファイル名 delete2.php

<?php
  //ファイルを読み込む
  require_once("SampleDB050.php");

  //データを取得する
  $prefCd = $_POST['cd'];

  // クエリを送信する
  $sql = "DELETE FROM T01Prefecture WHERE PREF_CD = ".$prefCd;
  $result = executeQuery($sql);
?>

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=SHIFT-JIS">
    <title>削除</title>
  </head>
  <body>
    <h3>削除</h3>
    <?= $sql ?><br />
    <p>PREF_CD: <?= $prefCd ?> を削除しました。</p>
    <a href="select.php" target="_self">全件表示へ</a>
  </body>
</html>


保存先 C:\phpdev\www\test\sample105
ファイル名 insert2.php

<?php
  //ファイルを読み込む
  require_once("SampleDB050.php");

  //データを取得する
  $prefCd = $_POST['cd'];
  $prefName = $_POST['name'];

  // クエリを送信する
  $sql = "INSERT INTO T01Prefecture VALUES(".$prefCd.", '".$prefName."')";
  $result = executeQuery($sql);
?>

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=SHIFT-JIS">
    <title>追加</title>
  </head>
  <body>
    <h3>追加</h3>
    <?= $sql ?>
    <p><?= $prefCd.",".$prefName ?> を追加しました。</p>
    <a href="select.php" target="_self">全件表示へ</a>
  </body>
</html>



【3】C:\phpdev にある 2K-NT-XP-phpdev_start.bat をダブルクリックして、phpdev を起動します。

php-02.gif

準備ができたら作成したPHPプログラムを実行してみましょう。


【4】ブラウザのアドレスに http://localhost/test/sample105/select.php と入力し、実行します。


【5】全件表示(select.php)の画面が表示されました。

php-208.gif


【6】一番最後にあるフォームに「99 ハワイ」と入力し、「追加」ボタンをクリックします。

php-192.gif

*数字は必ず半角で入力してください。


【7】追加確認の画面が表示されたら、「追加」ボタンをクリックします。

php-209.gif


【8】レコードが追加されました。「全件表示へ」リンクをクリックします。

php-210.gif

*動作確認のため、SQL文を表示しています。


【9】レコードが追加されていることが確認できます。

php-211.gif


【10】「99 ハワイ」の「更新」リンクをクリックします。

php-212.gif


【11】更新確認の画面が表示されたら、「グアム」に変更してから「更新」ボタンをクリックします。

php-213.gif


【12】レコードが更新されました。「全件表示へ」リンクをクリックします。

php-214.gif


【13】レコードが更新されていることが確認できます。

php-215.gif


【14】「99 グアム」の「削除」リンクをクリックします。

php-216.gif


【15】削除確認の画面が表示されたら、「削除」ボタンをクリックします。

php-217.gif


【16】レコードが削除されました。「全件表示へ」リンクをクリックします。

php-218.gif


【17】レコードが削除されていることが確認できます。

php-219.gif


【18】データをいろいろ入力して、追加、更新、削除を試してください。

データは「Step1・MySQLの準備」の 13〜17 の手順でいつでも復元できるので、安心して操作してください。


【解説】

今回の insert2.php、update2.php、delete2.php はSQL文以外はほとんど同じなのでまとめて説明します。

(1)データベースを使うので、ファイルを読み込んでいます。

require_once("SampleDB050.php");


(2)データを取得する部分です。前のページからはPOSTメソッドで送られています。

$prefCd = $_POST['cd'];
$prefName = $_POST['name'];


(3)SQL文を組み立てている部分です。

$sql = "INSERT INTO T01Prefecture VALUES(".$prefCd.", '".$prefName."')";

$sql = "UPDATE T01Prefecture SET PREF_NAME = '".$prefName."' WHERE PREF_CD = ".$prefCd;

$sql = "DELETE FROM T01Prefecture WHERE PREF_CD = ".$prefCd;

*変数の部分は「" "」の外に出して「.」で連結していますが、これは他のプログラミング言語と同じ書き方にしたいためです。PHPの場合は文字列の中で変数の値を出力する書き方もできます。

SQL文の組み立て方についてはJavaScript初心者入門講座が参考になります。


(4)クエリを送信する部分です。

$result = executeQuery($sql);

今回は戻り値を利用していません。ちなみに追加、更新、削除のSQL文の場合、 $result には成功した場合は TRUE(1) が、失敗した場合は FALSE(0) が代入されています。


(5)確認のため組み立てたSQL文を表示しています。無くてもかまいません。

<?= $sql ?>


(6)「全件表示へ」リンクを表示している部分です。「_self」と指定しているので、同一ウィンドウでページが切り替わります。

<a href="select.php" target="_self">全件表示へ</a>


これでPHPからデータベースを操作する、最も基本的なプログラムができました。フィールド数が増えても基本は同じです。あとは入力されたデータが適正かどうかチェックするような仕組みが必要です。


スポンサードリンク






PHP初心者入門講座TOPへ