IT・WEB・PC事業を行う9BOX IT・WEB・PC事業を行う9BOX

PHPで動的ページを作る方法

PHPとは?PHPの書き方と動的ページの設定方法

PHPで動的ページを作るには、PHPファイルデータベースの構成で作ることができます。

動的ページの処理の流れ、設定、書き方についてご説明いたします。

PHPとは?

PHPとは動的なWebサイトを作ることができるプログラミング言語です。

例えば今日のオススメ商品のランキングをアクセス数に応じてWebサイトに掲載しようといったとき手動でもできますが、システムなら自動で毎日集計した結果を正確に表示してくれます。

データベースから値をとってWebサイトに表示させる処理を行うのがPHPです。

動的ページのメリット

メリット
  • リアルタイムで配信可能
  • 処理速度が速い
  • 正確に動く
  • 費用対効果が得られる

リアルタイムで配信可能

リアルタイムで更新可能

新しい情報をWebサイトに今すぐ配信したい!そんな時動的ページであれば管理システムからリアルタイムで情報を配信することが可能です。

処理速度が速い

システムの処理速度は人の何倍速いなんてものではありません。体感的に数千倍はいくのではないでしょうか?

正確に動く

機械は人を超えるよ!といつも言っているくらいですので正確性はお墨付きです。

費用対効果が得られる

動的ページを含むシステムに言えることですが、人より正確に処理を速く行えることで人件費削減に繋がり費用対効果を得ることが可能です。

動的ページの処理の流れ

動的ページの処理の流れ
処理フロー
  • クライアントから情報の問い合わせ
  • PHPが受け取りデータベースからデータ取得
  • 取得したデータを元にHTMLを加工
  • リアルタイムのデータをクライアントに配信

動的ページの設定方法

動的ページを作成する為の設定はHTML、PHP、dbファイル、データベースがあります。簡易的にデータベースの値1つを表示するサンプルを例にご説明致します。

前提条件として文字コードUTF-8で作成します。SJISがよい方はデータベースを含めて全てSJISで行ってください。文字コードが異なる場合文字化けします。

HTMLページの設定

まず始めにindex.htmlファイル名をindex.phpに変更します。

そしてページ上部(DOCTYPE宣言の上)に以下のソースコードを入力します。

  1. <?php
  2. require "phps/test.phps";
  3. ?>
  4. <!-- ここから上を入力 -->
  5. <!DOCTYPE HTML>

表示したい場所に以下のソースコードを入力します。

  1. <?php echo $list_table;?>

※htmlファイルでも.htaccessファイルにAddTypeを記載することでphpファイルでなくても紐づけできますがここでは割愛させていただきます。

PHPページの設定

トップページが配置されているルートディレクトリに「phps」としてフォルダを作成します。

その中にtest.phpsファイルを作成してください。

test.phpsに記載するソースコードは以下の通りです。

  1. <?php
  2. require "db/db.php";
  3. $sql = "SELECT 表示サンプル項目 FROM 表示テーブル WHERE 表示サンプル項目 <> '' ORDER BY 表示サンプルID ASC";
  4. $result = executeQuery($sql);
  5. while($row = mysql_fetch_assoc($result)){
  6. $list_table.=$row['表示サンプル項目'];
  7. }
  8. ?>

データベースの設定

ここではXSERVERを元にデータベースの設定をご説明致します。

phpmyadminの処理はXSERVER問わずsakuraサーバや自社サーバでも同じです。

MySQLの設定

サーバパネル内にあるMySQL設定を開きます。

MySQL設定

MySQL追加タブを開き、MySQLデータベース名を任意で入力しMySQLの追加を押します。

MySQL追加

MySQLユーザ追加タブを開き、MySQLのユーザID、パスワードを任意で入力しMySQLユーザの追加を押します。

MySQL追加

phpmyadmin

再度サーバーパネルを開きphpmyadminを押して先ほど入力したユーザ名とパスワードを入力し、ログインします。

MySQL追加

DATABASEの作成

XSERVERやレンタルサーバの場合データベースの大元は作られているので行わなくて大丈夫です。

ここではデータベースの名前を「ninebox_db」としておきます。

  1. CREATE DATABASE ninebox_db CHARACTER SET utf8;

TABLEの作成

データベースの中にTABLEを作ります。

ここではTABLEの名前を「表示テーブル」としておきます。

下記の画像の左側にあるデータベースを押してSQLタブをクリックして下さい。

TABLEの作成

そして下記SQL文をデータベース上でクエリを実行する欄に入力し右側の実行を押してください。

  1. CREATE TABLE 表示テーブル (
  2. 表示サンプルID VARCHAR(10) NOT NULL,
  3. 表示サンプル項目 VARCHAR(50) NULL DEFAULT NULL,
  4. PRIMARY KEY (表示サンプルID)
  5. )
  6. COLLATE='utf8_general_ci'
  7. ENGINE=InnoDB;

左側のデータベース内に表示テーブルが作成できていればOKです。

データが無い状態なので2つほどデータを入れてみたいと思います。

  1. INSERT INTO 表示テーブル (表示サンプルID,表示サンプル項目)VALUES('id0001','表示1の項目です');
  2. INSERT INTO 表示テーブル (表示サンプルID,表示サンプル項目)VALUES('id0002','表示2の項目です');

以上でデータベースの設定は完了です。

dbファイルの設定

トップページが配置されているルートディレクトリに「db」としてフォルダを作成します。

その中にdb.phpファイルを作成してください。

db.phpに記載するソースコードは以下の通りです。

  1. <?php
  2. function executeQuery($sql){
  3. $url = "xserverの場合○○.xserver.jp";
  4. user = "アクセス権所有ユーザを記載";
  5. $pass = "パスワードを記載";
  6. $db = "ninebox_db";
  7. $link = mysql_connect($url,$user,$pass) or die("MySQL接続失敗");
  8. $sdb = mysql_select_db($db,$link) or die("データベース選択失敗");
  9. mysql_set_charset('utf8');
  10. $result = mysql_query($sql, $link) or die("クエリ失敗。");
  11. mysql_close($link) or die("MySQL切断失敗");
  12. return($result);
  13. }
  14. ?>

index.phpを開くと表示1の項目です表示2の項目ですと表示されると思います。

動的ページの設定方法を行うことで簡易的ではありますが動的なページの作成ができました。

次にPHPの書き方について説明していきたいと思います。

PHPの書き方

PHPの書き方を覚えるうえでまず下記のポイントを抑えると便利です。

プログラミング言語はhtmlのようにエラーがあった場合表示してくれません。

1文字でもエラーがあれば空白のページまたはエラーページが表示されます。

その為何が原因かを調べるうえで下記のポイントが重要となってきます。

ポイント
  • 文字を出力させる
  • 変数を理解する
  • エラー時にはブレークポイントを設定

文字を出力させる

PHPで文字を表示させたい時はechoを使います。

  1. <?php
  2. echo "ここに入る文字が出力されます";
  3. ?>

変数を理解する

変数とは値を変えたい時変えることができる一時的に保存可能な領域です。

変数を$tmpAとした場合1を保存したら$tmpAは1となり、$tmpAに1+1とした場合2となります。

また変数の名前は必ず$がつきます。また「.」を使うと文字を連結することができます。

  1. <?php
  2. $tmpA = "一時的に値を格納";
  3. echo $tmpA;//一時的に値を格納
  4. $tmpA = 1+2+3;
  5. echo $tmpA;//6
  6. $tmpA = "これと"."それ";
  7. echo $tmpA;//これとそれ
  8. ?>

エラー時にはブレークポイントを設定

エラーでページが空白になった場合やエラーの意味があいまいすぎて分からない場合exitで止めてどこまで処理が正常に動作しているか確認する方法があります。

どこまで処理が正常に動作しているか分かれば原因を特定することができます。

  1. <?php
  2. $tmpA = "test1";
  3. $tmpB = "test2";
  4. echo $tmpB;
  5. exit;//ここまで動くからこのあとに原因がある
  6. $tmpC = test3;//文字はダブルクォーテーションで囲まないとエラー
  7. ?>

お問合せ

お気軽にお問合せ下さい。

  • 電話番号 0285-35-4987
  • メール info@9box.jp