「PostgreSQL」と「PHP」を連携させたデータベースサンプル
こちらのページでは、お客様サイト内にPostgreSQLとPHPを使用したデータベースをphpPgAdminというデータベース管理ソフトを使用して、導入されるまでの手順をサンプル用データベースの作成を例にご紹介させて頂いております。
データベースの作成
まず、PostgreSQLデータベース使用権限を与えられましたユーザでphpPgAdmin管理画面にログイン致します。
ログインの後、データベース作成を行う為に以下の画面の「新規データベースの作成」入力欄にデータベース名を入力し"作成"ボタンでデータベースを作成致します。
テーブルの作成
データベースを作成致しますと以下の画面に移動致しますので、作成されたデータベース上にテーブルを設置する為、「新規テーブルの作成」入力欄にテーブル名とフィールド数を入力し"実行"ボタンでテーブルを作成致します。
テーブルを作成致しますと以下の画面に移動致しますので、作成されたテーブル上の各フィールドにフィールド名・フィールド型等を入力致しまして、入力完了後「保存」ボタンでフィールド内容を保存致します。
データの登録
フィールド内容保存後、以下の画面に移動致しますのでデータ登録を行う為に「追加」のリンクをクリック致します。
クリック後、下図のデータ追加画面に移動しますので各フィールドの値を入力致しまして「保存」ボタンでデータを追加致します。
また、サイト内に設置されたテキストファイルから複数のデータを一括登録する方法もございますので、phpMyAdminの詳細につきましては書籍等の各種情報をご参照頂けます様、宜しくお願い致します。
登録されたデータベースの運用
運用例と致しまして、phpPgAdminを使用して作成された下記のデータベースを検索するシステムを以下にご紹介させて頂きますのでご参照下さい。
- [データベース構成]
- データベース名:fluit
- テーブル名:商品
名前 | 価格 | 在庫 |
---|---|---|
りんご | 80 | 50 |
すいか | 200 | 20 |
メロン | 500 | 10 |
バナナ | 100 | 20 |
もも | 120 | 30 |
[検索スクリプトソース]
<html>
<head>
<meta HTTP-EQUIV="Content-type" CONTENT="text/html; charset=euc-jp">
</head>
<body>
<?php
if($name == "" && $kakaku_gt == "" && $kakaku_lt == "" && $zaiko_gt == "" && $zaiko_lt == ""){
die("最低1項目は値を入力してください。");
}
$con = pg_connect("port=5433 user=**** password=**** dbname=fluit");
if ( $con == $FALSE ) {
die("DB接続に失敗しました。");
}
$sql = "select * from 商品 where";
if ( $name != "" ) {
$sql = $sql . " 名前 like '$name' and";
}
if ( $kakaku_gt != "" ) {
$sql = $sql . " 価格 >= $kakaku_gt and";
}
if ( $kakaku_lt != "" ) {
$sql = $sql . " 価格 <= $kakaku_lt and";
}
if ( $zaiko_gt != "" ) {
$sql = $sql . " 在庫 >= $zaiko_gt and";
}
if ( $zaiko_lt != "" ) {
$sql = $sql . " 在庫 <= $zaiko_lt and";
}
$sql = substr($sql , 0 , -4);
$result = pg_exec($con,$sql);
if ( $result == $FALSE ) {
die("検索結果が0件でした。");
}
$num = pg_numrows($result);
echo "名前&価格&在庫<br>";
for ($i=0; $i<$num; $i++) {
$r = pg_fetch_row($result, $i);
for ($j=0; $j<count($r); $j++) {
echo "$r[$j] ";
}
echo "<br>";
}
?>
</body>
</html>
ヘルプセンターのご案内
お申し込み前、お申し込み後のサービスについての疑問や解決法などを記載しております。弊社サービスについての疑問点などございましたら、まずはヘルプセンターをご参照下さい。