0063 PHP編程編寫學生分數(shù)信息編輯和刪除功能網(wǎng)頁

上節(jié)課完成了一覽查詢頁面和新建信息頁面。

這節(jié)課繼續(xù)完成編輯信息頁面和刪除數(shù)據(jù)功能。

編寫一個編輯學生分數(shù)信息的頁面

一般一個信息管理功能是從創(chuàng)建數(shù)據(jù)開始,然后可以一覽查詢,還有必須的功能包括修改這些數(shù)據(jù)以及刪除這些數(shù)據(jù)。

這樣4個功能就構(gòu)成了一個完整的信息管理功能。

接下來編寫一個編輯學生分數(shù)信息的頁面。

新建2個文件studentedit.php和studentedit_do.php??梢詫tudentcreate.php復(fù)制粘貼后改名,然后修改某些地方。

studentedit.php修改如下:

image
image
4-9-3.jpg

studentedit_do.php修改如下:

image
image

注意此頁面和創(chuàng)建功能頁面的不同,就是學生ID是需要前一個頁面?zhèn)鬟f過來的參數(shù),否則就不知道應(yīng)該編輯哪一個學生記錄了。

將此文件部署到本地Web服務(wù)器的目錄下,然后新開一個瀏覽器窗口訪問此url,注意需要帶上一個學生ID的參數(shù)信息:

image

可以看到,程序根據(jù)傳遞的ID去數(shù)據(jù)文件 中讀取出對應(yīng)的其它信息,并默認顯示在可編輯的輸入控件中了。

注意第一個ID是不可以編輯的。

然后修改這些信息:

image

然后點擊保存按鈕:

4-9-8.jpg

可以看到,返回信息說明數(shù)據(jù)修改成功,查看服務(wù)器后臺的數(shù)據(jù)文件:

4-9-9.jpg

可以看到數(shù)據(jù)已經(jīng)更新成功。

然后回到一覽查詢頁面,點擊查詢按鈕:

4-9-10.jpg

可以看到,剛才更新的數(shù)據(jù)顯示在一覽當中了。

將編輯網(wǎng)頁鏈接到一覽頁面當中

由于編輯功能是針對一個具體的學生記錄,因此需要將此鏈接放置在一覽當中。

將每一行學生的姓名修改為一個鏈接,鏈接的url就是對應(yīng)的編輯網(wǎng)頁的url,傳遞的參數(shù)就是學生ID。

studentlist.php修改如下:

image

刷新一覽頁面,點擊查詢:

4-9-12.jpg

可以看到每一個姓名都是一個鏈接,點擊此鏈接,彈出了一個新的網(wǎng)頁窗口,進入編輯頁面:

image

點擊另外一個學生的姓名,進入對應(yīng)的學生信息編輯:

4-9-14.jpg

增加刪除功能

還差最后一個刪除功能,就可以完成一個完整的數(shù)據(jù)管理功能了。

修改編輯頁面,在保存按鈕旁邊增加一個刪除按鈕,然后根據(jù)fromtype區(qū)分來處理相應(yīng)的刪除邏輯。

刪除邏輯就是遍歷數(shù)據(jù)文件,根據(jù)ID找到對應(yīng)的數(shù)據(jù)行,然后將此行數(shù)據(jù)從文本文件當中刪除。

studentedit_do.php修改如下:

4-9-15.jpg

因為刪除功能需要慎重一些,因此在點擊此按鈕的時候,需要增加一個確認的過程,使用JavaScript實現(xiàn):

studentedit.php修改如下;

4-9-16.jpg

刷新一覽頁面,點擊某個學生的姓名,進入編輯頁面:

image

點擊刪除按鈕:

4-9-18.jpg

彈出確認窗口,點擊“確定”:

image

可以看到彈出了提示信息“刪除數(shù)據(jù)成功”,點擊確定按鈕后此窗口關(guān)閉。

查看服務(wù)器后臺的數(shù)據(jù)文件:

4-9-20.jpg

可以看到刪除的數(shù)據(jù)已經(jīng)不存在了。

然后回到一覽頁面,點擊查詢:

4-9-21.jpg

可以看到剛才刪除的數(shù)據(jù)已經(jīng)看不到了。

重新開始完整測試

所有功能都完成之后,可以將測試數(shù)據(jù)全部刪除,重新開始完整的測試。

進入服務(wù)器后臺,使用文本編輯器打開studentdatas.txt文件,刪除所有的數(shù)據(jù):

打開瀏覽器,按照一下的次序進行測試:

1.進入一覽頁面,應(yīng)該查詢不到記錄

2.輸入不同的條件,應(yīng)該都查詢不到記錄

3.進入新建頁面,輸入一個記錄,關(guān)閉新建頁面

4.進入一覽頁面,針對每一個單獨的條件,測試查詢到0個記錄和1個記錄的情況

5.點擊姓名進入編輯頁面,修改數(shù)據(jù),保存后關(guān)閉編輯頁面

6.進入一覽頁面,查詢數(shù)據(jù)應(yīng)該有變化

7.點擊姓名進入編輯頁面,刪除數(shù)據(jù)后關(guān)閉頁面

8.進入一覽頁面,應(yīng)該查詢不到記錄

9.通過新建頁面,創(chuàng)建不同的記錄多條

10.進入一覽頁面,測試不同條件的組合查詢出相應(yīng)的記錄

更方便的方法在哪里

前面完成了一個完整的數(shù)據(jù)信息維護的功能,使用的方式是讀寫文本文件的方式。

使用這種方式有很大的局限性,例如:

1.如果需要操作很多個數(shù)據(jù)文件,很麻煩,而且很多操作都是類似的重復(fù),僅僅是文件名和數(shù)據(jù)字段不一樣。

2.如果有多個數(shù)據(jù)文件有關(guān)聯(lián)關(guān)系,需要同時操作,無法保證數(shù)據(jù)的完整性和一致性。

3.如果文件系統(tǒng)突然出錯,沒有數(shù)據(jù)容錯和糾正機制。

4.如果網(wǎng)頁是多人同時訪問,多個進程同時操作文件,會產(chǎn)生文件鎖住的問題。

當然,還有其它更多的問題,這里就不一一列出。

那么,針對這樣非常共通性的問題,有沒有更好的解決方案呢?

在IT行業(yè)可以使用數(shù)據(jù)庫來解決以上的需求。

數(shù)據(jù)庫就是對數(shù)據(jù)進行結(jié)構(gòu)化存儲和管理的倉庫。

主要的目的就是通過統(tǒng)一的接口方式來存儲和管理數(shù)據(jù)。

倉庫提供了數(shù)據(jù)的創(chuàng)建,讀取,編輯,刪除等通用型功能。

可以使用SQL結(jié)構(gòu)化查詢語言對數(shù)據(jù)庫進行訪問。

后面幾節(jié)課將對數(shù)據(jù)庫和SQL進行詳細說明,并將學生信息數(shù)據(jù)修改為使用數(shù)據(jù)庫來存儲管理。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,172評論 3 119
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,781評論 25 709
  • 濃淡相宜,忽冒新葉,疑是天人栽。翠葉總有枯萎時,新舊交替往復(fù)來。綠黃相間方為景...
    冰夫閱讀 145評論 0 0
  • 每個人的心中都藏著這樣一個地方,有青山綠水,有白云蒼狗,這個地方是人們奔波一生,飄零一生最終都要歸來的地方,村口時...
    聽海風吹的聲音閱讀 470評論 1 3
  • 覺得自己是生活在理想中的人。 我希望天藍藍的,沒有霧霾,在家或是大街上,都可以深呼吸。晚上可以看繁星和月亮。白天不...
    聽君一席話001閱讀 224評論 0 1

友情鏈接更多精彩內(nèi)容