版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 華科學院</b></p><p> HUAKE INSTITUTE OF TAIYUAN UNIVERSITY OF </p><p> SCIENCE & TECHNOLOGY</p><p><b> 畢業(yè)設計(論文)</b></p><p> 題目
2、:基于PHP學生成績管理系統(tǒng)</p><p> 學 生 姓 名 </p><p> 學 號 </p><p> 班 級 </p><p> 所屬院(系) 計算機科學與技術 </p><p> 指 導 教 師
3、 </p><p> 2015 年 6 月 1 日</p><p><b> 目錄</b></p><p><b> 1 系統(tǒng)概述1</b></p><p> 1.1 開發(fā)背景及意義1</p><p> 1. 2方案論證1</p&
4、gt;<p> 1.3 開發(fā)工具的選擇1</p><p> 2 系統(tǒng)分析2</p><p> 2.1 目標設計2</p><p> 2.2 可行性分析2</p><p> 2.2.1 技術可行性分析2</p><p> 2.2.2 經(jīng)濟可行性3</p>
5、<p> 2.2.3 操作可行性3</p><p> 2.3 系統(tǒng)功能分析3</p><p> 2.4 系統(tǒng)性能要求4</p><p> 2.5 系統(tǒng)的功能模塊5</p><p> 3 數(shù)據(jù)庫設計5</p><p> 3.1 MYSQL數(shù)據(jù)庫簡介5</p><
6、p> 3. 2 系統(tǒng)E-R圖6</p><p> 3.3 數(shù)據(jù)庫設計6</p><p> 4 系統(tǒng)的具體實現(xiàn)8</p><p> 4.1 系統(tǒng)開發(fā)平臺8</p><p> 4.1.1 軟件環(huán)境8</p><p> 4.1.2 硬件環(huán)境9</p><p>
7、 4.2 系統(tǒng)采用的體系結構9</p><p> 4.3 系統(tǒng)流程圖及數(shù)據(jù)流圖9</p><p> 4.3.1系統(tǒng)流程圖9</p><p> 4.3.2 系統(tǒng)數(shù)據(jù)流程圖11</p><p> 4.4 PHP訪問系統(tǒng)數(shù)據(jù)庫的實現(xiàn)12</p><p> 4.4.1 PHP與系統(tǒng)數(shù)據(jù)庫連接的實現(xiàn)
8、12</p><p> 4.4.2 數(shù)據(jù)庫增加記錄的實現(xiàn)13</p><p> 4.4.3數(shù)據(jù)庫修改記錄的實現(xiàn)16</p><p> 4.4.4數(shù)據(jù)庫刪除記錄的實現(xiàn)18</p><p> 4.4.5 查詢的實現(xiàn)20</p><p> 4.5用戶操作權限的控制的實現(xiàn)23</p><
9、;p> 第5章 總結與展望25</p><p><b> 致謝26</b></p><p><b> 附錄Ⅰ27</b></p><p><b> 摘 要</b></p><p> 隨著計算機的發(fā)展和技術網(wǎng)絡的發(fā)展,它是世界上日益普及的東西,隨著互聯(lián)網(wǎng)/內
10、聯(lián)網(wǎng)使用,在眾多的網(wǎng)絡服務當中,網(wǎng)絡給人的感覺找到一絲新鮮感,其中,PHP進行復雜的數(shù)據(jù)庫操作,有非常強烈的互動,幫助用戶控制管理和簡單,方便學習和青睞,同時可以很容易地學習,成為目前比較熱門的網(wǎng)絡技術。</p><p> 本文首先介紹了operationprinciple PHP技術、工作流程及其運行環(huán)境和編程PHP文檔的特點,以及如何處理PHP需求環(huán)境好,因為每個人都有一個更好地了解PHP,同時也有利于使用
11、PHP技術。其次,介紹了基于Web數(shù)據(jù)庫訪問方法的MYSQL相對詳細,包括如何建立和加入,進行查詢和處理等,結合數(shù)據(jù)庫技術和PHP技術理論上。此后,在此基礎上,本文設計和開發(fā)出來的基于web-web currency-check-affair系統(tǒng)登記子系統(tǒng)、基于網(wǎng)絡。主要推薦上述準備工作(軟件和硬件)和設計考慮的基本構成和系統(tǒng)的實現(xiàn)的功能(包括網(wǎng)上報名、提交照片,查詢結果,維護系統(tǒng),等等),和該系統(tǒng)的特點和安全設計。最后闡述系統(tǒng)的物質和
12、短缺,為了改善更好的未來。</p><p> 關鍵詞:PHP, MySql, Apache, 數(shù)據(jù)庫,數(shù)據(jù)庫實現(xiàn),數(shù)據(jù)源 </p><p><b> ABSTRACT</b></p><p> the computer and technology of the network, it is popularized day by day
13、in the world that Internet/Intranet uses, in numerous network services, web gives somebody the feeling of finding everything fresh and new, and among them, PHP carry on complicated data base operate , very strong interac
14、tion and help user control management and simple and convenient to learn and was favored while being easy to learn, become the quite hot network technology at present.</p><p> This article first introduced
15、operationprinciple of the PHP technology, the working process and its running environments and the programming characteristic of the PHP document , as well as how does dispose the PHP demand environment well, since every
16、body has a better understanding to PHP, simultaneously is also advantageous to uses the PHP technology well. Secondly, having introduced the visit method based on Web data-base of MYSQL relatively in detail, including ho
17、w to establish and join, carry</p><p> Keywords:PHP, Mysql, Apache, database, DB implement, data source,E-GovermentAffair . </p><p><b> 1 系統(tǒng)概述</b></p><p> 1.1 開發(fā)背景及
18、意義</p><p> 在今天,電腦科技的快速崛起,群眾的思維有所改變,尤其是互聯(lián)網(wǎng)的全面覆蓋,群眾不管是在生活上還是在工作上節(jié)奏變快,有什么辦法可以提高群眾的工作效率成為今天最重要的問題。學校管理學生的成績是個比較麻煩的工作,其中最大的問題就是基數(shù)太大。對一個學校來說,應該掌握比較可靠的技術,來提高對學生成績的管理。目前我們國家的大部分高校還沒能掌握這種技術,基本上還在紙張上打成績,而這種成績管理以被當前的時
19、代淘汰,相對來說互聯(lián)網(wǎng)的管理更加效率快,在今后互聯(lián)網(wǎng)管理學生成績必將取代過去,進入一個嶄新的時代。</p><p> 學生的成績是各個高校非常重視的,作為學校來說,最重要的就是培養(yǎng)人才,而學生的成績管理將是整個學校不可缺少的,對于他的嚴重性,學生成績的管理應該盡早的被各個高校應用?;ヂ?lián)網(wǎng)學生成績的管理有倆方面好處,一方面可以更好的資源分配不至于大量的工作放到這方面;另一方面就是完善學生查成績,不用擔心成績單丟失
20、,提高了效率。</p><p><b> 1. 2方案論證</b></p><p> 高校學生成績管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。結合本系統(tǒng)前端應用程序的開發(fā)指的便是系統(tǒng)用戶的操作界面,鑒于系統(tǒng)的開發(fā)是基于WEB頁面的PHP+MYSQL的編程體系結構,所以這方面不必考慮太多,只要系統(tǒng)運行機
21、器上安裝有5.0以上的IE瀏覽器便可;而后臺數(shù)據(jù)建立及維護PHP同樣有強大的操作數(shù)據(jù)庫能力,所以采用PHP開發(fā)本系統(tǒng)完全可行。</p><p> 1.3 開發(fā)工具的選擇</p><p> 鑒于開發(fā)本系統(tǒng)的目的在于快速、方便的管理數(shù)據(jù),特別是實現(xiàn)網(wǎng)上數(shù)據(jù)錄入、數(shù)據(jù)查詢,所以在開發(fā)工具的選擇上,我們選擇了功能強大的且十分靈活的--PHP(Microsoft Active Server P
22、ages,微軟動態(tài)服務器網(wǎng)頁)技術,Smarty是一個使用PHP寫出來的模板引擎,是目前業(yè)界最著名的PHP模板引擎之一。它分離了前端頁面和邏輯代碼,提供了邏輯與外在內容的分離。</p><p> PHP是一種被廣泛應用的開放源代碼的多用途腳本語言。PHP的優(yōu)點:1.開源。2.免費。3.數(shù)據(jù)庫集成。4.可移植性(跨平臺)。5.對面向對象的支持。6.容易學習。7.php在系統(tǒng)中占用較少的資源。</p>
23、<p> MySQL數(shù)據(jù)庫占內存小且方便,不需要運行或者啟動數(shù)據(jù)庫服務進程就可以使用。由于使用簡單功能齊全,便于與其他的軟件設備聯(lián)系結合,兼容性強。所以MySQL數(shù)據(jù)庫常常被認定為網(wǎng)站開發(fā)中數(shù)據(jù)庫的支持技術來使用。</p><p><b> 2 系統(tǒng)分析</b></p><p><b> 2.1 目標設計</b></
24、p><p> 開發(fā)本系統(tǒng)目標在于:將當下的物聯(lián)網(wǎng)成績管理與以前的成績管理相結合,從而進一步完善,形成一套更好的學生成績管理系統(tǒng)。為了使系統(tǒng)在高校學生成績管理工作中發(fā)揮更大的作用,實現(xiàn)工作過程的計算機化,提高工作效率和工作質量,現(xiàn)提出如下的系統(tǒng)開發(fā)目標:</p><p> 1) 學生成績管理人員(如教師)可通過網(wǎng)絡錄入、編輯學生基本信息、成績等;</p><p>
25、2) 大量數(shù)據(jù)錄入工作中,盡量做到錄入的計算機化,盡量做到減少人工的工作量;</p><p> 3) 學生可以通過網(wǎng)絡查詢自己的學科成績,修改自己的基本資料; </p><p> 4) 查詢智能化,可利用學生的一切相關信息進行學生成績、基本信息查詢操作;</p><p> 5) 注意數(shù)據(jù)的安全性,具有數(shù)據(jù)備份和恢復的功能
26、。</p><p> 2.2 可行性分析</p><p> 2.2.1 技術可行性分析</p><p> 本套高校學生成績管理系統(tǒng)應用PHP技術。</p><p> PHP是Microsoft推出的一種服務器端腳本環(huán)境,PHP內嵌于IIS中,它讓用戶可輕松地結合起來HTML Web頁面、腳本環(huán)境和ActiveX組件建立或執(zhí)行動態(tài)的
27、、交互的Web服務器端應用程序。PHP腳本所使用的VBScript腳本語言直接來源于VB語言,秉承了VB簡單易用的特點,其具體優(yōu)點如下[3]:</p><p> 1)可以把腳本語言直接嵌入HTML文檔中,不需要編譯和連接就可運行;</p><p> 2)可以使用ADO組件輕松存取數(shù)據(jù)庫;</p><p> 3)可以使用第三方開發(fā)的組件;</p>
28、<p> 4)不在存在瀏覽器兼容的問題,PHP程序在服務器端運行的,服務器將PHP網(wǎng)頁轉化成標準的HTML文檔才發(fā)送給客戶瀏覽器,因為送出的是標準的HTML文檔,所以不存在瀏覽器兼容的問題;</p><p> 5)可以隱藏程序代碼,在客戶端僅可以看到由PHP輸出的動態(tài)HTML文件。</p><p> 綜上所述,開發(fā)本套學生管理系統(tǒng)所需要運用的技術如下:怎樣建立數(shù)據(jù)庫、怎樣連
29、接數(shù)據(jù)庫、怎樣運用PHP等,利用互聯(lián)網(wǎng)中的軟件都可以解決問題,所以說在該系統(tǒng)的開發(fā)上是可行的。</p><p> 2.2.2 經(jīng)濟可行性 </p><p> 本次開發(fā)學生成績管理系統(tǒng)所需要大量資金和人力資源,并且時間比較長,所以要一定的人力、物力。本次系統(tǒng)的成本不等,根據(jù)自己的資金進行配置。</p><p> 雖然說成本較高,但是它給各個高校對于學生成績管理
30、系統(tǒng)來說提高了太多,其中以效率高、錯誤少而重要,它的價值不是它的成本顯示出來的。從長遠利益來看,本系統(tǒng)可以使高校學生成績管理工作更加合理化、規(guī)范化、科學化。高校學生成績管理的計算機化意味著高校信息化管理水平的提高,非常值得高校投資。</p><p> 2.2.3 操作可行性</p><p> 本次成績管理系統(tǒng)在運行上比較流暢,系統(tǒng)是基于PHP+MS MYSQL模式開發(fā)的,易于操作
31、。各個高校只需要一些簡單配置就好,而學生的話就更簡單了,只要打開網(wǎng)站,輸入網(wǎng)址就可以操作了。所以系統(tǒng)在操作上是可行的。</p><p> 2.3 系統(tǒng)功能分析 </p><p> 本次進行學生成績管理系統(tǒng)主要是為了學生可以更好的、更快的了解自己的成績,進而達到學生的自學能力。 系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務的基礎上完成的。本套高校學生成績管理系統(tǒng)需要完成的功能如下:<
32、/p><p> 1) 數(shù)據(jù)的錄入,包括學生基本情況信息以及學生學科成績的錄入等;</p><p> 2) 學生基本信息的查詢,包括學生基本情況以及學生學科成績的查詢等;</p><p> 3) 學生基本信息的修改,包括學生基本情況以及學生學科成績的修改等;</p><p> 4) 學生基本信息以及成
33、績的查看;</p><p> 5) 學生基本信息及成績的打印等;</p><p> 6) 學院專業(yè)、班級、課程的增加、刪除、察看等;</p><p> 7) 系統(tǒng)用戶的管理、權限管理等;</p><p> 8) 系統(tǒng)管理員密碼的修改等;</p><p> 9)
34、;系統(tǒng)的相關設計等。</p><p> 2.4 系統(tǒng)性能要求</p><p> 先進性:對于主機系統(tǒng)應考慮其先進性和生命力??煽啃裕河幸粋€穩(wěn)定可靠的系統(tǒng)是確保整個系統(tǒng)正常運行的關鍵。安全性:整個系統(tǒng)不應由于操作失誤,甚至惡意攻擊而遭到破壞。</p><p> 2.5 系統(tǒng)的功能模塊 </p><p> 在系統(tǒng)功能分析的基礎上,得到
35、如下圖1所示的系統(tǒng)功能模塊圖。</p><p> 圖1系統(tǒng)功能模塊的化分</p><p><b> 3 數(shù)據(jù)庫設計</b></p><p> 3.1 MYSQL數(shù)據(jù)庫簡介 </p><p> MYSQL是Microsoft公司的Microsoft Office組件之一,是Windows環(huán)境下流行的桌面型數(shù)
36、據(jù)庫管理系統(tǒng)。MySQL數(shù)據(jù)庫占內存小且方便,不需要運行或者啟動數(shù)據(jù)庫服務進程就可以使用。由于使用簡單功能齊全,便于與其他的軟件設備聯(lián)系結合,兼容性強。所以MySQL數(shù)據(jù)庫常常被認定為網(wǎng)站開發(fā)中數(shù)據(jù)庫的支持技術來使用。[6]</p><p> 3. 2 系統(tǒng)E-R圖</p><p> 經(jīng)過具體的分析,可以得出以下幾個實體。它們依次是:學生基本信息和學生成績。這兩個實體間的聯(lián)系見下面的
37、E-R圖:</p><p><b> 1M</b></p><p><b> M</b></p><p><b> M</b></p><p><b> NN</b></p><p><b> 圖2 系統(tǒng)E-
38、R圖</b></p><p> 3.3 數(shù)據(jù)庫設計</p><p> 本套高校學生成績管理系統(tǒng)中涉及的表很多,現(xiàn)以學生基本信息表(xs_base_info),學生登陸表(xs_loads_info)以及學生成績表(xscj)為例說明一下本系統(tǒng)中數(shù)據(jù)庫的設計。</p><p> 學生基本信息表(xs_base_info)</p>&l
39、t;p> 學生登陸表(xs_loads_info)</p><p> 學生成績表(xscj)</p><p> 系統(tǒng)數(shù)據(jù)庫中各表的關系如下:它們的連接條件是為xs_base_info.xsid=xs_loads_info.xsid=xscj.xsid</p><p> 圖3數(shù)據(jù)庫中各表的關系</p><p> 4 系統(tǒng)的
40、具體實現(xiàn)</p><p> 4.1 系統(tǒng)開發(fā)平臺</p><p> 4.1.1 軟件環(huán)境</p><p> 本套高校學生成績管理系統(tǒng)開發(fā)環(huán)境如下:</p><p> 1) 操作系統(tǒng): window xp ;</p><p> 2) 開發(fā)平臺: Micormida Dreamweaver;
41、</p><p> 測試環(huán)境:window xp(安裝了IIS)</p><p> Internet要求:Microsoft Internet Explorer5.0</p><p> 4.1.2 硬件環(huán)境 </p><p> 系統(tǒng)運行硬件環(huán)境如下:</p><p> 1)
42、;計算機: Intel或兼容機 Pentium 166MHZ或更高;</p><p> 2) 內存:128M 或512M</p><p> 3) 硬盤空間:40G 或80G</p><p> 4) 監(jiān)視器: VGA或更高分辨率</p><p
43、> 4.2 系統(tǒng)采用的體系結構</p><p> 目前在程序開發(fā)領域中,主要分為兩大編程體系,一種是基于瀏覽器的B/S(Brower/Server,瀏覽器—服務器)結構,另一種是C/S(Client/Server,客戶—服務器)結構如下圖1-1所示。</p><p> 圖4程序開發(fā)體系</p><p> 以上兩種編程體系結構中,C/S結構已慢慢被
44、B/S結構所取代。個人以為,現(xiàn)在的單機系統(tǒng)已經(jīng)很少了,加之C/S結構中,客戶端是必需考慮的,而這對于基于WEB頁面的B/S體系結構是多余的。</p><p> 這次學生成績管理系統(tǒng)主要就是為了學生可以更好的掌握和了解自己的成績和學校對學生成績的管理,選擇目前比較流行和主流的B/S結構無疑是相當方便和合適的,所以本套高校學生成績管理系統(tǒng)的開發(fā)采用的是B/S結構。[3]</p><p>
45、4.3 系統(tǒng)流程圖及數(shù)據(jù)流圖</p><p> 4.3.1系統(tǒng)流程圖</p><p> 系統(tǒng)流程圖是描繪未來物理系統(tǒng)的傳統(tǒng)工具.它的基本思想是通過一些圖形符號以黑盒子的方式來描繪未來系統(tǒng)中的部件,如程序、數(shù)據(jù)庫、表格以及處理過程等。系統(tǒng)流程圖的基本符號如下所示:</p><p> 表1-1系統(tǒng)流程圖基本符號</p><p> 系統(tǒng)流程
46、圖的符號和程序流程圖的符號相似,但系統(tǒng)流程圖和程序流程圖有著根本的區(qū)別。系統(tǒng)流程圖是描述系統(tǒng)物理概貌的工具,圖中的箭頭表示數(shù)據(jù)流動的方向;而程序流程圖是描述計算機執(zhí)行程序的過程或是對一個算法進行描述,圖中的箭頭方向表示控制信息,即程序的執(zhí)行方向。</p><p> 本套高校學生成績管理系統(tǒng)系統(tǒng)流程圖如下: </p><p> 圖5學生成績管理系統(tǒng)系統(tǒng)流程圖</p>
47、<p> 4.3.2 系統(tǒng)數(shù)據(jù)流程圖</p><p> 數(shù)據(jù)流程圖(Data Flow Diagram,簡稱DFD) 是描述系統(tǒng)邏輯模型,圖中沒有任何具體的物理元素,即使是非計算機人員也能閱讀,是軟件人員和用戶在可行性分析階段和需求分析階段進行交流的工具。數(shù)據(jù)流圖的基本符號如下:[2]</p><p> 表1-2數(shù)據(jù)流圖基本符號</p><p>
48、 本套高校學生成績管理系統(tǒng)的數(shù)據(jù)流圖如下:</p><p><b> 圖 6系統(tǒng)數(shù)據(jù)流圖</b></p><p><b> 屏幕信息</b></p><p><b> 登陸</b></p><p><b> 處理數(shù)據(jù)</b></p>
49、<p> 修改基本信息數(shù)據(jù)庫</p><p><b> 登陸查分</b></p><p><b> 屏幕信息</b></p><p><b> 打印操作</b></p><p> 4.4 PHP訪問系統(tǒng)數(shù)據(jù)庫的實現(xiàn)</p><
50、p> 4.4.1 PHP與系統(tǒng)數(shù)據(jù)庫連接的實現(xiàn)</p><p> 采用不同體系結構的網(wǎng)絡數(shù)據(jù)庫應用,會對數(shù)據(jù)庫的訪問方式和操作效率產生重大的影響。對于B/S結構的系統(tǒng)采用的是WEB數(shù)據(jù)庫結構。WEB數(shù)據(jù)庫技術要解決的主要問題是如何通過網(wǎng)絡訪問服務器端的數(shù)據(jù)庫。在所有的解決方案中,包括了兩個基本方面:執(zhí)行訪問的軟件和被訪問的對象。早期的WEB服務器一般采用CGI(通用網(wǎng)關接口,Common Gatewa
51、y Interface)訪問數(shù)據(jù)庫,目前流行的辦法是在服務器端執(zhí)行HTML、Script和SQL命令,通過ODBC(Open data base connectivity,開放數(shù)據(jù)庫互連)驅動程序訪問各種支持ODBC的數(shù)據(jù)庫。[3]</p><p> 在B/S結構中,客戶機訪問WEB數(shù)據(jù)庫的一般步驟如下:</p><p> HTTP請求SQL請求</p><p&
52、gt; HTML頁數(shù)據(jù)結果</p><p> 圖7 訪問WEB數(shù)據(jù)庫的一般步驟</p><p> 1) 用戶通過單擊表單中的“提交”按鈕,把表單內容傳送到WEB服務器;2) WEB服務通過ODBC驅動程序或直接驅動程序連接數(shù)據(jù)庫,執(zhí)行SQL命令;</p><p> 3) SQL執(zhí)行結果以HTML形式傳
53、送給客戶端的瀏覽器。</p><p> 因為PHP包含了ADO,所以它可以輕松訪問WEB數(shù)據(jù)庫。本套高校學生成績管理系統(tǒng)所采用的就是這種方式。系統(tǒng)采用的是模塊化設計的,所以在需要數(shù)據(jù)庫連接的地方通過包含文件(conn.PHP)實現(xiàn)的,其中conn.PHP文件如下:</p><p><b> <%</b></p><p><b&g
54、t; …………..</b></p><p> Set conn=Server.Createobject(“ADODB.Connection”)</p><p> Conn.open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=”&</p><p> Server.Mappath(“data/
55、data.mdb”)‘新版本連接方式</p><p> ‘Conn.open ”driver={Microsoft MYSQL Driver(*.mdb)};dbq=”&</p><p> Server.Mappath(“data/data.mdb”)‘老版本連接方式</p><p><b> ……….</b></p
56、><p><b> %></b></p><p> 考慮到連接數(shù)據(jù)庫時,版本可能不一樣,所以文件中采用了兩種連接方式,并用分號屏避了老版本連接方式;從上可以看到,首先建立一個名為Conn連接對象,并在其后用Provider聲明采用的是Microsoft.jet.oledb.4.0數(shù)據(jù)庫驅動,所要連接的數(shù)據(jù)源是名為data.mdb數(shù)據(jù)庫。</p>&
57、lt;p> 4.4.2 數(shù)據(jù)庫增加記錄的實現(xiàn)</p><p> 不管是學生的基本信息還是學生的成績,都要通過登入才能進去。最后都要存入到數(shù)據(jù)庫,下面將是學生成績登入處理模塊為例,詳細說明在本系統(tǒng)中的實現(xiàn)過程。</p><p> 下面是管理員進入“登入學生成績”進行批量學生成績錄入的截圖。</p><p> 圖8批量錄入學生成績界面</p>
58、<p> 管理人員登入進去后,我們?yōu)榱丝梢愿?、更有效的登入學生成績,所以我們用批量登入的方法,只要點自己想登入進去學生的學號就可以,其具體實現(xiàn)代碼如下:</p><p> 系統(tǒng)通過讀取文件manage_input_xscj.PHP表單中提交的數(shù)據(jù)并調用文件do_inputxscj_form.PHP來處理,其中文件do_inputxscj_form.PHP內容如下:</p><
59、p> <!--#include file="checklogin.PHP"--></p><p> <!--#include file="conn.PHP"--></p><p> <%dim cnt,xq,bj,kc,lx,xf,xueyuan,zhuanye,k,chengji</p>&
60、lt;p> cnt=session("count")</p><p> xq=session("xq")</p><p> bj=session("bj")</p><p> kc=session("kc")</p><p> lx=session
61、("lx")</p><p> xf=session("xf")</p><p> xueyuan=session("xueyuan")</p><p> zhuanye=session("zhuanye")</p><p> xh=session(&qu
62、ot;startxh")</p><p><b> '以下為學號處理</b></p><p> xh_end=right(xh,4)'取出學號的后四位,從右邊取 記為學號的尾部</p><p> xl=len(xh)-4 '學號的頭部長度</p><p> xh_star
63、t=mid(xh,1,xl) </p><p> xh_start=cstr(xh_start) '取出學號的頭部轉成字符</p><p> xh_end="1"&xh_end'在轉化尾部前,進行尾部的第一位加一個字符"1",以防止化成數(shù)值后,將前部的0錯誤的去掉了!</p><p> xh_e
64、nd=cint(xh_end)-1 '后四位轉成數(shù)后計算 確保從起始學號開始</p><p> for i=1 to cnt</p><p> xh_end=xh_end+1</p><p> xh_end=cstr(xh_end)'之后轉回成字符</p><p> xh_end=mid(xh_end,2,4)
65、39;去掉前面人為增加的字符"1"</p><p> xuehao=xh_start&xh_end</p><p> '**********以下為成績欄的讀取*************</p><p> '讀取成績后,要看看是當前信息的成績是否已經(jīng)錄入過了,已錄入過了的,顯示提示信息,其后的成績錄入失敗!</p
66、><p> chengji=request("cj"&i)</p><p> if not isnumeric(chengji) then</p><p> response.write"<SCRIPT language=JavaScript>alert('學生成績應為數(shù)字!');"<
67、;/p><p> response.write"javascript:history.go(-1)</SCRIPT>"</p><p> response.end()</p><p> end if</p><p> sql="select xsid,kcname,cj,xq,xf,lx
68、 from xscj where xsid='"&xuehao&"' and kcname='"&kc&"'and lx='"&lx&"'and xq='"&xq&"'and xf="&xf </p>
69、<p> set rs=server.createobject("adodb.recordset")</p><p> rs.open sql,conn,2,2</p><p> if not rs.eof then '說明找到了和本次錄入一樣的信息</p><p> msg="學號為:"&
70、;xuehao&"學生的成績已錄入過了!該學生及其后學生成績錄入失敗!!"</p><p> response.write"<SCRIPT language=JavaScript>alert('"&msg&"');"</p><p> response.write"
71、javascript:history.go(-1)</SCRIPT>"</p><p><b> rs.close</b></p><p> set rs=nothing</p><p> response.end()</p><p><b> end if</b>&l
72、t;/p><p><b> rs.close</b></p><p> set rs=nothing</p><p> sql="select * from xscj"</p><p> set temprs=server.createobject("adodb.recordset&qu
73、ot;)</p><p> temprs.open sql,conn,2,2</p><p> temprs.addnew</p><p> temprs("xsid")=xuehao</p><p> temprs("kcname")=kc</p><p> temp
74、rs("cj")=chengji</p><p> temprs("xq")=xq</p><p> temprs("lx")=lx</p><p> temprs("xf")=xf</p><p> temprs.update</p>&l
75、t;p> temprs.close</p><p> set temprs=nothing</p><p><b> '學號的自增處理</b></p><p> xh=xuehao '再次進行第一次的操作</p><p> xh_end=right(xh,4)'取出學號的后四位,
76、從右邊取 記為學號的尾部</p><p> xl=len(xh)-4 '學號的頭部長度</p><p> xh_start=mid(xh,1,xl) </p><p> xh_start=cstr(xh_start) '取出學號的頭部轉成字符</p><p> xh_end="1"&
77、xh_end '在轉化尾部前,進行尾部的第一位加一個字符"1",以防止化成數(shù)值后,將前部的0錯誤的去掉了!</p><p><b> next</b></p><p> msg="成功錄入"&cnt&"個學生的成績!!" </p><p> respo
78、nse.write"<SCRIPT language=JavaScript>alert('"&msg&"');"</p><p> response.write"javascript:history.go(-1)</SCRIPT>"</p><p><b>
79、 %></b></p><p> 現(xiàn)在對說明一下上面的代碼的功能:最前面的兩行代碼是包含語句,接著是聲明一些變量,之后便是開始將存在PHP的內置對象 session中的各個值賦給相應變量;最終通過temprs.addnew命令將變量值一個個以記錄的形式存入了數(shù)據(jù)庫中。這里值得說明一下的是,這里用的讀取值的方式是將存在session中的讀出,(用戶在網(wǎng)頁中跳轉其值在一定時間內是不會消失的)這里使
80、用session完全是出于程序中的方便,因為跳轉之前在manage_input_xscj.PHP中有對session賦值的情況。一般采用request方式讀取表單中提交的數(shù)據(jù)的情況是比較常見的,代碼可以參照manage_input_xscj.PHP中的讀取表單中提交數(shù)據(jù)的方式。</p><p> 這里還要說明的是,上面的代碼對于學號來說比較看重,因為學生的學號對于一個學生來說比較重要:管理人員第一次登入進去想登
81、入學生的成績,必須選擇學生的學號才可以登入學生的成績。我們對此應對方法是,學號是可以增加或減少的,因為學號是數(shù)字而且一個學校和一個學校的學號長度不一樣,所以有時候這方面的信息量比較大。因為一個學號太長了,信息量大,所以投資的資金也比較大,我們?yōu)榱藴p少成本所以我們在這邊是把學號分成了倆部分,我們先取學號的后4位然后在結合前面的,最后我們就可以實現(xiàn)學號的增減。對此我們不得不限制每次登入成績是最多選10人次,防止最后4位數(shù)重復。這是又出現(xiàn)了一
82、個問題,如果所取學號的后四位中包含有零,在轉化成數(shù)字并自增沒有問題,可是自增后,再轉化成字符并和前面學號劃分之前的部分連接時,必然會出錯,零會丟失的。(如:學號20038140002進行處理后,會變成20038143)所以取得學號后四位后,在轉化成數(shù)字前,我們人為的在其前面加上一個字符“1”,之后轉化中再去除,這便是對學號處理的全部,具體實現(xiàn)過程見代碼,代碼后有詳細備注。</p><p> 4.4.3數(shù)據(jù)庫修改
83、記錄的實現(xiàn)</p><p> 因為成績的原因,所以說有時候我們要修改成績,下面就是我們修改學生成績的操作來看一下:</p><p> 以下是管理員進入“學生成績管理”菜單后進行學生成績修改的界面截圖。</p><p> 圖9 學生成績修改界面</p><p> 進入該界面后,管理員便可對學生的“課程名稱”,相應“課程成績”,“課程學分
84、”“課程類型”,“所學學期”進行編輯修改,單擊確認修改按鈕后系統(tǒng)便可調用文件do_editxscj_form.PHP來進行修改處理了。處理文件do_editxscj_form.PHP內容如下:</p><p> <!--#include file="conn.PHP"--></p><p> <!--#include file="chec
85、klogin.PHP"--></p><p> <title>---修改單個學生成績---</title></p><p><b> <%</b></p><p> dim msg,xid,xq,xf,lx,cj,kcname</p><p> msg=session
86、("xsname") '學生姓名</p><p> xid=session("xid") '成績id</p><p> xq=request("xq")</p><p> lx=request("lx")</p><p> xf=reque
87、st("xf")</p><p> cj=request("cj")</p><p> kcname=request("kc")</p><p> sql="select * from xscj where id="&xid</p><p> se
88、t rs=server.createobject("adodb.recordset")</p><p> rs.open sql,conn,2,2</p><p> rs("kcname")=kcname</p><p> rs("cj")=cj</p><p> rs(&q
89、uot;xq")=xq</p><p> rs("lx")=lx</p><p> rs("xf")=xf</p><p><b> rs.update</b></p><p><b> rs.close</b></p><
90、;p> set rs=nothing</p><p> response.write"<SCRIPT language=JavaScript>alert('"&msg&"'+'同學的<<'+'"&kcname&"'+'>>成績更新成
91、功!!');"</p><p> response.write"javascript:window.location='manage_index_admin.PHP?actid=3'</SCRIPT>"</p><p> response.end()</p><p><b> %>
92、;</b></p><p> 現(xiàn)對以上代碼進行簡單說明:前面兩行代碼為包含語句,接著便是通過 request對象讀取表單提交的修改數(shù)據(jù),然后使用SQL語句將指針定位到當前所要修改的用戶,并通過前面讀取的數(shù)據(jù)賦給當前記錄集中相應字段,最終通過rs.update更新數(shù)據(jù)庫中的記錄并提示修改成功。通過單擊修改表單中的提交按鈕,提交修改數(shù)據(jù),并調用相應表單處理程序,在表單處理程序中對提交的數(shù)據(jù)進行
93、處理,(使用update命令)最終實現(xiàn)數(shù)據(jù)庫中數(shù)據(jù)的修改,這便是系統(tǒng)中數(shù)據(jù)修改的一般處理過程。</p><p> 4.4.4數(shù)據(jù)庫刪除記錄的實現(xiàn)</p><p> 以下以刪除學生成績?yōu)槔f明在本套系統(tǒng)中刪除的實現(xiàn)過程。</p><p> 以下是進入“學生成績管理”菜單時的界面。具體實現(xiàn)過程如下:</p><p> 圖10刪除學生成績界
94、面</p><p> 進入該菜單后,點選想要刪除的成績,并單擊“刪除”按鈕,首先調用包含文件jav2.PHP文件中的DEL()函數(shù)判斷是否點選,并讓用戶確認是否刪除?確認刪除后,調用del_xscj.PHP文件來具體處理。兩個文件具體內容如下:</p><p> 文件jav2.PHP內容如下:</p><p><b> <script>&
95、lt;/b></p><p> function del () //用于判斷記錄有沒有選中的函數(shù)</p><p><b> {</b></p><p> var flag=true;</p><p> var temp="";</p><p><b>
96、 var tmp;</b></p><p> if((document.form1.answer.length+"")=="undefined") {tmp=1}</p><p> else{tmp=document.form1.answer.length}</p><p> if (tmp==1)<
97、;/p><p><b> {</b></p><p> if (document.form1.answer.checked)</p><p> {flag=false;</p><p> temp=document.form1.answer.value</p><p><b>
98、}</b></p><p><b> }</b></p><p><b> else{</b></p><p> for (i=0;i<document.form1.answer.length;i++) </p><p><b> {</b></
99、p><p> if (document.form1.answer[i].checked)</p><p><b> {</b></p><p> if(temp==""){flag=false;temp=document.form1.answer[i].value}</p><p> else{f
100、lag=false;temp=temp+","+ document.form1.answer[i].value}</p><p> //中間的逗號為了將數(shù)據(jù)分開</p><p><b> }</b></p><p><b> }</b></p><p><b>
101、 } </b></p><p> if (flag){ alert("對不起,你還沒有選擇!")}</p><p><b> else</b></p><p> { name=document.form1.name.value</p><p> if (confirm(&quo
102、t;確實要刪除?")){</p><p> window.location="del_xscj.PHP?id=" +temp; //將參數(shù)傳遞給處理頁!</p><p><b> }</b></p><p><b> }</b></p><p> return
103、!flag;</p><p><b> }</b></p><p><b> </script></b></p><p> <script language=Javascript></p><p> function checkall(all)//用于判斷全選記錄的函
104、數(shù)</p><p><b> {</b></p><p> var a = document.getElementsByName("answer");</p><p> for (var i=0; i<a.length; i++) a[i].checked = all.checked;</p>&l
105、t;p><b> }</b></p><p><b> </script></b></p><p> 文件del_xscj.PHP內容如下:</p><p> <!--#include file="conn.PHP"--></p><p>
106、 <!--#include file="checklogin.PHP"--></p><p><b> <% </b></p><p> arrdel=Request.querystring("id")</p><p> conn.Execute"delete * fro
107、m xscj where id in ("&arrdel&")"</p><p> set conn=nothing</p><p> Response.Redirect ("manage_index_admin.PHP?actid=3")</p><p> response.end</p
108、><p><b> %></b></p><p> 現(xiàn)對以上代碼作一簡單說明:第一個文件為純腳本文件,目的在于判斷是否點選成績前的復選框,并將點選項的學號傳給后面的處理文件del_xscj.PHP,如果選擇多項的話,傳送學號時,各個學號中間用逗號分隔;在del_xscj.PHP中,首先就是通過request.querystring(“id”)讀取前面?zhèn)鬟^的所要刪
109、除的學號,再執(zhí)行SQL中的刪除語句并返回。</p><p> 4.4.5 查詢的實現(xiàn)</p><p> 對一所高校來說,有一套互聯(lián)網(wǎng)的學生成績管理系統(tǒng)是多么重要,本次學生成績系統(tǒng)就體現(xiàn)了它的高效率、高正確率。一般的模糊查詢設計思想是這樣的:系統(tǒng)把用戶輸入的內容作為匹配條件,去和系統(tǒng)數(shù)據(jù)庫中相應字段中的內容一個個匹配,設法找出相應匹配的記錄并作為查詢的結果輸出。這套學生成績管理系統(tǒng)唯一一
110、處缺點就是,學生每次查詢是都要輸入自己的學號,但我們?yōu)榱藢W生可以更好的查詢,我們加入了讓系統(tǒng)自行辨別學生輸入的學號,可以自己學生自己的學號,這樣一來學生就可以更有效的查詢自己的成績。以下是上述設計思想在本套系統(tǒng)設計中的具體實現(xiàn)過程。</p><p> 首先讓我們看看本套系統(tǒng)的查詢界面的設計,其截圖如下: 圖11 學生信息查詢界面</p><p> 本系統(tǒng)在開發(fā)過程中把學生基本信息查詢
111、和學生的成績查詢合并在一起。用戶查詢時只需在“查詢內容”中輸入查詢關鍵字并在“查詢類型”中簡單選擇一下要查學生信息,還是學生成績,然后回車或單擊確認按鈕便可。其具體實現(xiàn)代碼(find. PHP )如</p><p> <!--#include file="conn1.PHP"--></p><p><b> <%</b><
112、;/p><p> session("fd")=trim(replace(request("fd"),"'",""))</p><p> sql="select xs_base_info.*, xscj.cj, xscj.kcname, xscj.xq, xscj.xf, xscj.lx FRO
113、M xs_base_info INNER JOIN xscj ON xs_base_info.xsid = xscj.xsid"</p><p> if isnumeric(session("fd")) then '學號查詢只可是數(shù)字,如查詢內容為漢字,則跳過學號中找,避免錯誤!</p><p> sql=sql & " wher
114、e xscj.xsid LIKE " </p><p> sql=sql & "'%"</p><p> sql=sql & Session("fd") </p><p> sql=sql & "%'"</p&g
115、t;<p><b> else</b></p><p> sql=sql & " where xscj.xsid LIKE " </p><p> sql=sql & "'%"</p><p> sql=sql & Session("fd&q
116、uot;) </p><p> sql=sql & "%'"</p><p> sql=sql&"or"</p><p> sql=sql & " xscj.xq LIKE " </p><p> sql=s
117、ql & "'%"</p><p> sql=sql & Session("fd") </p><p> sql=sql & "%'"</p><p> sql=sql&"or"</p>
118、<p> sql=sql & " xscj.kcname LIKE " </p><p> sql=sql & "'%"</p><p> sql=sql & Session("fd") </p><p> sql=sq
119、l & "%'"</p><p> sql=sql&"or"</p><p> sql=sql & " xs_base_info.xsname LIKE " </p><p> sql=sql & "'%"</p>&l
120、t;p> sql=sql & Session("fd") </p><p> sql=sql & "%'"</p><p> sql=sql&"or"</p><p> sql=sql & " xs_base_
121、info.xs_xueyuan LIKE " </p><p> sql=sql & "'%"</p><p> sql=sql & Session("fd") </p><p> sql=sql & "%'"<
122、/p><p> sql=sql&"or"</p><p> sql=sql & " xs_base_info.xs_zhuanye LIKE " </p><p> sql=sql & "'%"</p><p> sql=sql & Ses
123、sion("fd") </p><p> sql=sql & "%'"</p><p> sql=sql&"or"</p><p> sql=sql & " xs_base_info.xs_bj LIKE " <
124、;/p><p> sql=sql & "'%"</p><p> sql=sql & Session("fd") </p><p> sql=sql & "%'"</p><p> sql=sql&
125、"or"</p><p> sql=sql & " xs_base_info.xssex LIKE " </p><p> sql=sql & "'%"</p><p> sql=sql & Session("fd")
126、 </p><p> sql=sql & "%'"</p><p> sql=sql&"or"</p><p> sql=sql & " xs_base_info.xs_statu LIKE " </p><p> sql=sql &
127、 "'%"</p><p> sql=sql & Session("fd") </p><p> sql=sql & "%'"</p><p> sql=sql&"or"</p><p&g
128、t; sql=sql & " xscj.lx LIKE " </p><p> sql=sql & "'%"</p><p> sql=sql & Session("fd") </p><p> sql=sql & &quo
129、t;%'"</p><p><b> end if</b></p><p> set rs=server.CreateObject("adodb.recordset")</p><p> rs.open sql ,connstr,3,1</p><p> if rs.eof
130、then</p><p> response.write"<SCRIPT language=JavaScript>alert('查無此信息!!請檢查輸入信息是否正確!!');"</p><p> response.write"javascript:history.go(-1)</SCRIPT>"</p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學生成績管理系統(tǒng)畢業(yè)論文畢業(yè)論文
- 畢業(yè)論文——學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)畢業(yè)論文
- 學生成績管理系統(tǒng)畢業(yè)論文
- 學生成績管理系統(tǒng)-畢業(yè)論文
- 學生成績管理系統(tǒng)——畢業(yè)論文
- 學生成績管理系統(tǒng)——畢業(yè)論文
- 學生成績管理系統(tǒng)畢業(yè)論文
- 學生成績管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng) 畢業(yè)論文
- 學生成績管理系統(tǒng)畢業(yè)論文 (3)
- 畢業(yè)論文學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)畢業(yè)論文7
- 基于web的學生成績管理系統(tǒng)-畢業(yè)論文
- 學生成績管理系統(tǒng)畢業(yè)論文 (2)
- 學生成績管理系統(tǒng)畢業(yè)論文 (2)
- 學生成績管理系統(tǒng)畢業(yè)論文9
評論
0/150
提交評論