在個教程中,我都把要執行的sql語句放到一個變量($sql)中,然后才用mysql_query()來執行數據庫查詢。在調試時這是很有用的。如果程序出了什么問題,您隨時可以把sql語句的內容顯示出來,檢查其中的語法錯誤。
我們已經學習了如何把數據插入到數據庫中。現在我們來學習如何修改數據庫中已有的記錄。數據的編輯包括兩部分:數據顯示和通過表格輸入把數據返回給數據庫,這兩部分我們前面都已經講到了。然而,數據編輯還是有一點點不同,我們必須先在表格中顯示出相關的數據。
首先,我們回過頭再看看第一課的程序代碼,在網頁中顯示員工姓名。但是這次,我們要把數據顯示在表格中。程序看起來象下面這樣:
| $#@60;html$#@62; $#@60;body$#@62; $#@60;?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); ?$#@62; $#@60;form method="post" action="$#@60;?php echo $path_info?$#@62;"$#@62; $#@60;input type=hidden name="id" value="$#@60;?php echo $myrow["id"] ?$#@62;"$#@62; 名:$#@60;input type="text" name="first" value="$#@60;?php echo $myrow["first"] ?$#@62;"$#@62;$#@60;br$#@62; 姓:$#@60;input type="text" name="last" value="$#@60;?php echo $myrow["last"] ?$#@62;"$#@62;$#@60;br$#@62; 住址:$#@60;input type="text" name="address" value="$#@60;?php echo $myrow["address"] ?$#@62;"$#@62;$#@60;br$#@62; 職位:$#@60;input type="text" name="position" value="$#@60;?php echo $myrow["position"] ?$#@62;"$#@62;$#@60;br$#@62; $#@60;input type="submit" name= bmit" value="輸入信息"$#@62; $#@60;/form$#@62; $#@60;?php } else { // 顯示員工列表 $result = mysql_query("select * from employees",$db); while ($myrow = mysql_fetch_array($result)) { printf("$#@60;a href=/"%s?id=%s/"$#@62;%s %s$#@60;/a$#@62;$#@60;br$#@62;/n", $path_info, $myrow["id"], $myrow["first"], $myrow["last"]); } } ?$#@62; $#@60;/body$#@62; $#@60;/html$#@62; |
我們剛才是把字段內容寫入到相應表格元素中的value屬性里,這是相應簡單的。我們再往前進一步,使程序可以把用戶修改過的內容寫回數據庫去。同樣,我們通過submit按鈕來判斷是否處理表格輸入內容。還要注意,我們用的sql語句稍稍有些不同。
| $#@60;html$#@62; $#@60;body$#@62; $#@60;?php $db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); if ($id) { if ($submit) { $sql = "update employees set first=$first,last=$last, address=$address,position=$position where id=$id"; $result = mysql_query($sql); echo "謝謝!數據更改完成/n"; } else { // 查詢數據庫 $sql = "select * from employees where id=$id"; $result = mysql_query($sql); $myrow = mysql_fetch_array($result); ?$#@62; $#@60;form method="post" action="$#@60;?php echo $path_info?$#@62;"$#@62; $#@60;input type=hidden name="id" value="$#@60;?php echo $myrow["id"] ?$#@62;"$#@62; 名:$#@60;input type="text" name="first" value="$#@60;?php echo $myrow["first"] ?$#@62;"$#@62;$#@60;br$#@62; 姓:$#@60;input type="text" name="last" value="$#@60;?php echo $myrow["last"] ?$#@62;"$#@62;$#@60;br$#@62; 住址:$#@60;input type="text" name="address" value="$#@60;?php echo $myrow["address"] ?$#@62;"$#@62;$#@60;br$#@62; 職位:$#@60;input type="text" name="position" value="$#@60;?php echo $myrow["position"] ?$#@62;"$#@62;$#@60;br$#@62; $#@60;input type="submit" name="submit" value="輸入信息"$#@62; $#@60;/form$#@62; $#@60;?php } } else { // 顯示員工列表 $result = mysql_query("select * from employees",$db); while ($myrow = mysql_fetch_array($result)) { printf("$#@60;a href=/"%s?id=%s/"$#@62;%s %s$#@60;/a$#@62;$#@60;br$#@62;/n", $path_info, $myrow["id"], $myrow["first"], $myrow["last"]); } } ?$#@62; $#@60;/body$#@62; $#@60;/html$#@62; |
就是這樣。在這個程序中已經包含了我們學過所大多數特性。您也已經看到,我們在一個if()條件判別語句中又加了一個if()語句,來檢查多重條件。
下面,我們要把所有東西全都加在一起,寫出一個很好的程序來。
新聞熱點
疑難解答