五、修改數據
在個教程中,我都把要執行的SQL語句放到一個變量($sql)中,然後才用mysql_query()來執行數據庫查詢。在調試時這是很有用的。如果程序出了什麼問題,您隨時可以把SQL語句的內容顯示出來,檢查其中的語法錯誤。
我們已經學習了如何把數據插入到數據庫中。現在我們來學習如何修改數據庫中已有的記錄。數據的編輯包括兩部分:數據顯示和通過表格輸入把數據返回給數據庫,這兩部分我們前面都已經講到了。然而,數據編輯還是有一點點不同,我們必須先在表格中顯示出相關的數據。
首先,我們回過頭再看看第一課的程序代碼,在網頁中顯示員工姓名。但是這次,我們要把數據顯示在表格中。程序看起來象下面這樣:
<html>
<body>
<?php
$db = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);
if ($id) {
// 查詢數據庫
$sql = "SELECT * FROM employees WHERE id=$id";
$result = mysql_query($sql);
$myrow = mysql_fetch_array($result);
?>
<form method="post" action="<?php echo $PATH_INFO?>">
<input type=hidden name="id" value="<?php echo $myrow["id"] ?>">
名:<input type="Text" name="first" value="<?php echo
$myrow["first"] ?>"><br>
姓:<input type="Text" name="last" value="<?php echo
$myrow["last"] ?>"><br>
住址:<input type="Text" name="address" value="<?php echo
$myrow["address"] ?>"><br>
職位:<input type="Text" name="position" value="<?php echo
$myrow["position"] ?>"><br>
<input type="Submit" name="submit" value="輸入信息">
</form>
<?php
} else {
// 顯示員工列表
$result = mysql_query("SELECT * FROM employees",$db);
while ($myrow = mysql_fetch_array($result)) {
printf("<a href=\"%s?id=%s\">%s %s</a><br>\n", $PATH_INFO,
$myrow["id"], $myrow["first"], $myrow["last"]);
}
}
?>
</body>
</html>