まず、データベースを作ります。そこに使うテーブルを作ります。これには、以下のコマンドを用います。これには、suで、Postgresの管理者になって、以下のコマンドを実行します。
% /usr/local/pgsql/bin/cratedb fujiki
% /usr/local/pgsql/bin/psql fujiki
fujiki=> create table price_table (name text,price int);
fujiki=> grant all on price_table to nobody;
fujiki=> \q
%
まずデータベースへの登録を行うPHPスクリプトを含むページを作ります。
例
<script language="php">
$HostName = "hibiki.kitakyu-techno-ctr.co.jp";
$DataBaseName = "fujiki";
</script>
<head><title>PHPによるDBへの登録</title></head><body>
<script language="php">
$pg = pg_connect($HostName,"","","",$DataBaseName);
$command = "insert into price_table values ('$name', $price);";
$result = pg_exec ($pg, $command);
pg_close($pg);
printf("%s : %dを登録しました",$name,$price);
</script>
</body>
</html>
|
そして、この登録を行うスクリプトを含むページを呼び出す以下のようなページを作ります。
| <form action="phpreg.phtml"
method="post"> <ul> <li>品名<input size="16" type="text" name="name"> <li>値段<input size="16" type="text" name="price"> <li><INPUT type="submit" value="登録"> </ul> </form> |
これを実行するとこのようになります
ここで「登録」ボタンを押して得られたページのソースを見ても、PHPのスクリプトはありません。このページの内容は、サーバがPHPスクリプトを実行た結果をだからです。
<script language="php"> $HostName = "hibiki.kitakyu-techno-ctr.co.jp"; $DataBaseName = "fujiki"; </script> <head><title>PHPによるサーチ結果</title></head> <body> <script language="php"> $pg = pg_connect($HostName,"","","",$DataBaseName); $command = "select * from price_table where name = '$name';"; $result = pg_exec ($pg, $command); pg_close($pg); |
これを以下のように呼び出して使います
| <form action="phpsear.phtml"
method="post">品名<input
size="16" type="text"
name="name"> <INPUT type="submit" value="検索"></form> |
以下でこのテストができます
<script language="php">
$HostName = "hibiki.kitakyu-techno-ctr.co.jp";
$DataBaseName = "fujiki";
</script>
<head><title>PHPによるサーチのリスト</title></head>
<body>
<h2>登録されている値段のリスト</h2>
<script language="php">
$pg = pg_connect($HostName,"","","",$DataBaseName);
$command = "select * from price_table;";
$result = pg_exec ($pg, $command);
pg_close($pg);
$n = pg_numrows($result);
if ($n == 0) {
printf("データがありません");
} else {
printf("<table border><tr><th>商品</th><th>値段</th></tr>");
for ($i=0;$i<$n;$i++){
$name = pg_result($result, $i, "name");
$price = pg_result($result, $i, "price");
printf("<tr><td>$name</td><td>$price</td></tr>\n");
}
print "</table>\n";
}
</script>
</body>
</html> |
これを呼び出すと以下のようになります