PHP/MySQL三日通-第二天(四)

六、完整的程序

  在本課結束前,我們要把所有東西加入到一個程序中,使它具有增加、編輯修改、刪除記錄的功能。這是前面所有內容的一個延伸,也可以作為極好的復習方法。看看下面的程序。

  $#@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;

  這段程序看起來很復雜,但實際上並不難。程序主要有三個部分。第一個if()語句檢查我們是否已經按下瞭那個“輸入信息”的數據提交按鈕。如果是,程序再檢查$id是否存在。如果不存在,那我們就是在增加記錄狀態,否則,我們是在修改記錄狀態。

  接下來我們檢查變量$delete是否存在。如果存在,我們是要刪除記錄。註意,第一個if()語句檢查的是用POST方法發送來的變量,而這一次我們檢查的是GET方法中傳遞過來的變量。

  最後,程序默認的動作是顯示員工列表和表格。同樣,我們要檢查變量$id是否存在。如果存在,我們就根據它的值檢索出相應的記錄顯示出來。否則,我們會顯示一個空的表格。

  現在,我們已經把所學的東西全部都放在一個程序裡頭瞭。我們用到瞭while()循環,用到瞭if()語句,並且執行瞭全部的SQL基本操作 – SELECT、INSERT、UPDATE以及DELETE。另外,我們也知道如何在不同的網頁之間通過URL和表格輸入來互相傳遞信息。

  在第三課裡,我們要學習如何為網頁增加智能化處理能力。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *