六、完整的程序
在本课结束前,我们要把所有东西加入到一个程序中,使它具有增加、编辑修改、删除记录的功能。这是前面所有内容的一个延伸,也可以作为极好的复习方法。看看下面的程序。
$#@60;html$#@62; $#@60;body$#@62; $#@60;?php $db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); if ($submit) { // 如果没有ID,则我们是在增加记录,否则我们是在修改记录 if ($id) { $sql = "UPDATE employees SET first=$first,last=$last, address=$address,position=$position WHERE id=$id"; } else { $sql = "INSERT INTO employees (first,last,address,position) VALUES ($first,$last,$address,$position)"; } // 向数据库发出SQL命令 $result = mysql_query($sql); echo "记录修改成功!$#@60;p$#@62;"; } elseif ($delete) { // 删除一条记录 $sql = "DELETE FROM employees WHERE id=$id"; $result = mysql_query($sql); echo "记录删除成功!$#@60;p$#@62;"; } else { // 如果我们还没有按submit按钮,那么执行下面这部分程序 if (!$id) { // 如果不是修改状态,则显示员工列表 $result = mysql_query("SELECT * FROM employees",$db); while ($myrow = mysql_fetch_array($result)) { printf("$#@60;a f="%s?id=%s"$#@62;%s %s$#@60;/a$#@62; ", $PATH_INFO, $myrow["id"], $myrow["first"], $myrow["last"]); printf("$#@60;a href="%s?id=%s&delete=yes"$#@62;(DELETE)$#@60;/a$#@62;$#@60; br$#@62;", $PATH_INFO, $myrow["id"]); } } ?$#@62; $#@60;P$#@62; $#@60;a href="$#@60;?php echo $PATH_INFO?$#@62;"$#@62;ADD A RECORD$#@60;/a$#@62; $#@60;P$#@62; $#@60;form method="post" action="$#@60;?php echo $PATH_INFO?$#@62;"$#@62; $#@60;?php if ($id) { // 我们是在编辑修改状态,因些选择一条记录 $sql = "SELECT * FROM employees WHERE id=$id"; $result = mysql_query($sql); $myrow = mysql_fetch_array($result); $id = $myrow["id"]; $first = $myrow["first"]; $last = $myrow["last"]; $address = $myrow["address"]; $position = $myrow["position"]; // 显示id,供用户编辑修改 ?$#@62; $#@60;input type=hidden name="id" value="$#@60;?php echo $id ?$#@62;"$#@62; $#@60;?php } ?$#@62; 名:$#@60;input type="Text" name="first" value="$#@60;?php echo $first ?$#@62;"$#@62;$#@60;br$#@62; 姓:$#@60;input type="Text" name="last" value="$#@60;?php echo $last ?$#@62;"$#@62;$#@60;br$#@62; 住址:$#@60;input type="Text" name="address" value="$#@60;?php echo $address ?$#@62;"$#@62;$#@60;br$#@62; 职位:$#@60;input type="Text" name="position" value="$#@60;?php echo $position ?$#@62;"$#@62;$#@60;br$#@62; $#@60;input type="Submit" name="submit" value="输入信息"$#@62; $#@60;/form$#@62; $#@60;?php } ?$#@62; $#@60;/body$#@62; $#@60;`/html$#@62; |
この手順は複雑に見えますが、実際は難しくありません。プログラムには 3 つの主要な部分があります。最初の if() ステートメントは、「情報の入力」データ送信ボタンが押されたかどうかをチェックします。存在する場合、プログラムは $id が存在するかどうかを確認します。存在しない場合はレコード ステータスを追加し、存在しない場合はレコード ステータスを変更します。
次に変数$deleteが存在するかどうかを確認します。レコードが存在する場合は、そのレコードを削除します。最初の if() ステートメントでは POST メソッドを使用して送信された変数をチェックしましたが、今回は GET メソッドで渡された変数をチェックしていることに注意してください。
最後に、プログラムのデフォルトのアクションは、従業員のリストとテーブルを表示することです。同様に、変数 $id が存在するかどうかを確認したいと思います。存在する場合は、その値に基づいて対応するレコードを取得し、表示します。それ以外の場合は、空のテーブルが表示されます。
これで、私たちが学んだすべてを 1 つのプログラムにまとめました。 while() ループ、if() ステートメントを使用し、基本的な SQL 操作 (SELECT、INSERT、UPDATE、DELETE) をすべて実行しました。さらに、URL やフォーム入力を通じて、異なる Web ページ間で情報を渡す方法も知っています。
3番目のレッスンでは、Webページにインテリジェントな処理機能を追加する方法を学びます。