サーバサービス/データ入出力と演算
提供: Internet Web School
サーバサービス(PHP等) > データ入出力と演算
目次 |
概要
ここでは前章に続いて、PHPによるデータ入出力処理の例をあげ、PHPでの演算の例を示します。
データ入出力と演算
PHPの書き方について、便宜のために前章と同じ資料を再び挙げておきます。
- 英語版:http://www.plus2net.com/PHP_tutorial/PHP_introduction.php
- 日本語版:http://www.scollabo.com/banban/PHP/
商品の売り上げ個数から売上合計を計算するシステム
前章のシステムを少し複雑にすると、インターネットでの簡単な販売システムを作ることができます。3種の商品(ケーキ1、ケーキ3、ケーキ3)のそれぞれの注文個数を入力させます。その後計算と記録用のPHPプログラムを呼び、金額の小計や合計を計算させ、それらの結果をサーバ上にあるテキストファイルに記録させるのです。
この仕組みも前章と同様、2つの要素からなります。一つはデータ入力用のHTMLファイルです。もう一つはその入力されたデータを受け取り金額を計算しサーバーに置かれたあるテキストファイルにデータを記録する記録用PHPファイルです。
入力用HTMLファイルで表示されたWebページに個々の人が注文個数のデータを入力し、そこにあるcalculateボタンを押すと、計算と記録用PHPファイルが自動的に呼ばれ、計算され記録が取られます。
データ入力用のHTMLファイルによる、各商品の注文個数を入力させる画面(図1)。そのあとcalculateボタンを押すと次の画面に移ります。
3種の商品(ケーキ1、ケーキ2、ケーキ3)、それぞれの個数の入力はプルダウンメニューの形式で入力するようになっています(図2)。
計算記録用PHPファイルによる画面。この画面は上の画面でcalculateボタンが押されると表示されます(図3)。このときはテキストファイルへの書き込みは完了しています。ここで下のreturnボタンを押すと、一番上の画面に戻り、新しい商品数を入力することができます。
記録用PHPファイルにより書き込まれた、サーバー上のテキストファイルの内容。これはエクセルなどのスプレッドシートにCSVファイルとして読み込みが可能なものになっています。
quon.txt
1,3,2,2,9,3,14
データ入力用のHTMLファイルの内容
HTMLファイルはデータを記録用ファイルに保存するような機能は無いが、それができるPHP ファイルを読み出すことができます。あらかじめデータを入力するのはHTMLファイル中のform というタグを使います。
データ入力用のHTMLファイル(buy.html)の内容
<html>
<head>
<title>Input Form</title>
</head>
<body>
<form action="calc.php" method="post">
Product name Unit price Quantity <br>
Cake#1 $2.0 nbsp;
<SELECT NAME="q1" size="1">
<option> 0
<option> 1
<option> 2
<option> 3
</select><br>
Cake#2 $3.0 <SELECT NAME="q2" size="1">
<option> 0
<option> 1
<option> 2
<option> 3
</select><br>
Cake#3 $1.5 <SELECT NAME="q3" size="1">
<option> 0
<option> 1
<option> 2
<option> 3
</select><br><br>
<input type="submit" name="submit" value="calculate">
</form>
</body>
</html>
上のHTMLファイルの説明
これは通常のHTMLファイルで、前章の入力用HTMLファイルと基本的には同じです
やはり6行目にPHPファイルとの連携ができる第一の鍵があります。<form>...</form> の間でデータ入力をするが、そのデータはcalc.phpというphpプログラムに渡されること、その渡し方はpost という方式であること(getという方式もありますが)を指定しています。
次の7行目から14行目までが一つの商品の入力に関するところです。個数の入力の方法はプルダウンメニューによるもので選択できる値は,<select>...</select> の間で<option> というタグで指定します。上から列挙された値がこの順序で表示されます。従って特に選択しなければ一番最初に列挙された値(この場合は0)が指定されます。
最初の<select の跡にNAME="q1"という記述がありますが、php プログラムに値が送られるときq1という名前をつけて送られるということを指定します。なおこれらの記述の中に というのが何度も現れますが、これは半角のスペースを画面に表示させるためのものです。半角のスペースはキーボードから直接入力してもhtmlの文法によると1個以外は無視されてしまうことに対する工夫です。売り上げの表を画面に出すとき縦の位置を合わせるためです。本当は