• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于PHP的成績(jī)快速輸入系統(tǒng)的設(shè)計(jì)

      2019-07-08 06:46:17吳國(guó)輝
      計(jì)算機(jī)時(shí)代 2019年6期
      關(guān)鍵詞:字段

      摘? 要: 教師往往需要將學(xué)生完成作業(yè)的情況輸入到電子表格中。但是,由于原始文檔中存在多個(gè)班級(jí),學(xué)生完成作業(yè)的順序較為混亂,且數(shù)據(jù)量較大,直接輸入費(fèi)時(shí)費(fèi)力。針對(duì)該問題,提出利用PHP設(shè)計(jì)成績(jī)快速輸入系統(tǒng)的解決思路。首先將學(xué)生的學(xué)號(hào)信息導(dǎo)入到MySQL數(shù)據(jù)庫,然后通過PHP頁面的文本框接收輸入的學(xué)號(hào)字符串并自動(dòng)增加新的作業(yè)字段,接著通過explode函數(shù)對(duì)字符串進(jìn)行分割并提取學(xué)號(hào),再根據(jù)學(xué)號(hào)與數(shù)據(jù)庫對(duì)比更新當(dāng)前作業(yè)所在字段,最后將數(shù)據(jù)表導(dǎo)出到電子表格。實(shí)踐表明,該系統(tǒng)運(yùn)行速度較快,穩(wěn)定可靠,能夠極大地提高工作效率。

      關(guān)鍵詞: 成績(jī)快速輸入; PHP; explode函數(shù); MySQL; 字段

      中圖分類號(hào):TP319? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ?文章編號(hào):1006-8228(2019)06-49-04

      Abstract: Teachers often need to input student finished jobs into spreadsheet. However, due to the students in the original document belong to different classes, the order of the finished jobs is chaotic, and the amount of data is large, so the direct input is time-consuming and laborious. To solve this problem, a solution of designing a score fast input system with PHP is put forward. Firstly, the student's Student Number Information is imported into the MySQL database, then the string of Student Number Information is received by the text box of the PHP page and the new job field is automatically added. Then the string is segmented by the explode function to extract the Student Number, and the field is updated according to the comparison of the Student Number and the database, and the data table is finally exported to a spreadsheet. Practice shows that the system runs fast, stable and reliable, and can greatly improve the work efficiency.

      Key words: score fast input; PHP; explode function; MySQL; field

      1 成績(jī)輸入的困難

      在高校、中職學(xué)校中,大部分的平時(shí)作業(yè)為上機(jī)操作或?qū)嶒?yàn)[1]。教師需要記錄學(xué)生完成作業(yè)情況,這也是學(xué)生期末總評(píng)成績(jī)的重要組成部分。學(xué)生成績(jī)是學(xué)生學(xué)習(xí)情況和教學(xué)質(zhì)量的晴雨表,其重要性不言而喻[2]。由于教學(xué)管理日趨嚴(yán)格,平時(shí)成績(jī)需要記錄,作為評(píng)估、考核的原始文檔,如果直接在紙質(zhì)版的成績(jī)表上記錄,則需要從中找到某學(xué)生,再找到對(duì)應(yīng)某次作業(yè),才能進(jìn)行登記。因?yàn)檫@樣的現(xiàn)場(chǎng)記錄要花費(fèi)的時(shí)間太多,所以教師習(xí)慣于在白紙上記錄學(xué)生的學(xué)號(hào),等期末再統(tǒng)一輸入到電子表格成績(jī)表。

      由于學(xué)生完成作業(yè)的先后順序是隨機(jī)的,所以教師記錄在紙張上的學(xué)號(hào)自然雜亂無章。因此,在將其輸入到電子表格的時(shí)候,需要找到對(duì)應(yīng)的行(學(xué)號(hào))和列(某次作業(yè)),非常費(fèi)時(shí)費(fèi)力。如果是多個(gè)班級(jí)合班上的,則輸入效率更低。因此,如何設(shè)計(jì)一種能夠?qū)⒉煌嗉?jí)的學(xué)號(hào),快速地輸入到電子表格,成為一大挑戰(zhàn)。

      2 快速輸入系統(tǒng)的思路

      2.1 輸入的方便快捷

      教師現(xiàn)場(chǎng)手寫的記錄比較潦草,圖像識(shí)別的硬件技術(shù)和軟件算法又比較復(fù)雜[3],難以通過圖像識(shí)別來提高輸入效率。由此,只能在記錄和輸入的策略上減少工作量。一方面,由于同一門課程經(jīng)常存在合班現(xiàn)象,為了方便,用一位數(shù)字表示學(xué)生班別代號(hào),用二位數(shù)字表示學(xué)生本班排序號(hào),三位數(shù)字組合成學(xué)生的學(xué)號(hào),如219為2班19號(hào)學(xué)生?,F(xiàn)場(chǎng)記錄只需記錄學(xué)號(hào)。另一方面,輸入的時(shí)候,采用右手小鍵盤、左手分隔符的方式可以實(shí)現(xiàn)快速輸入。其中,分隔符采用最大的按鍵——空格鍵。例如,某次輸入的內(nèi)容為“219 107”,就表示完成本次作業(yè)的學(xué)生的學(xué)號(hào)分別為219號(hào)和107號(hào)。按照“最短學(xué)號(hào)、左右手配合、最大按鍵”策略,使得輸入更為快捷。

      2.2 提取學(xué)號(hào)并修改數(shù)據(jù)

      輸入某次作業(yè)的一批學(xué)號(hào)之后,就需要從該字符串中提取學(xué)號(hào)并修改對(duì)應(yīng)的作業(yè)一列的數(shù)據(jù)。每次作業(yè),都會(huì)存在部分同學(xué)沒有完成、無法上交的情況,因此造成輸入的學(xué)號(hào)不連續(xù),無法使用電子表格的排序功能進(jìn)行自動(dòng)處理。所以,最終只能通過設(shè)計(jì)程序來實(shí)現(xiàn),解決思路如下。

      第一步,將學(xué)生的學(xué)號(hào)信息從電子表格導(dǎo)入數(shù)據(jù)庫。

      第二步,輸入完成某次作業(yè)的學(xué)生的學(xué)號(hào),一般為幾十個(gè)學(xué)生的學(xué)號(hào),從而形成一長(zhǎng)串字符串。

      第三步,以空格為分割符,對(duì)字符串進(jìn)行分割,提取出每個(gè)學(xué)號(hào),接下來就是根據(jù)提取出來的學(xué)號(hào),與數(shù)據(jù)庫進(jìn)行比對(duì)并進(jìn)行相應(yīng)的修改。

      第四步,把修改好的成績(jī)導(dǎo)出到電子表格。

      3 PHP應(yīng)用程序的設(shè)計(jì)

      3.1 動(dòng)態(tài)技術(shù)的選擇

      通過前面的分析可以看出,要實(shí)現(xiàn)設(shè)計(jì)要求,必須要設(shè)計(jì)程序。目前的程序從設(shè)計(jì)架構(gòu)看可以分為C/S(Client/Server,客戶/服務(wù)器)和B/S(Brower/Server,瀏覽器/服務(wù)器)兩大類型。前者運(yùn)行速度較快,但是需要安裝才能運(yùn)行,如果要修改還需要在開發(fā)平臺(tái)中重新編譯,比較麻煩。后者速度稍慢,但是只要有瀏覽器即可運(yùn)行,修改也比較便捷。目前,Web系統(tǒng)的應(yīng)用日益廣泛,傳統(tǒng)需安裝的Foxmail等軟件都可以在Web頁面中完成[4]。由于Web開發(fā)成為發(fā)展主流,在此采用B/S模式設(shè)計(jì)該系統(tǒng)。

      B/S模式的開發(fā)主流語言主要有PHP、JSP、ASP、ASP.NET幾種。雖然它們都能實(shí)現(xiàn)Web應(yīng)用程序,但是差異還是比較大的。PHP具有完全開源、完全免費(fèi)、跨平臺(tái)、開發(fā)容易、修改維護(hù)方便等諸多優(yōu)點(diǎn)[5]。目前,在動(dòng)態(tài)網(wǎng)頁上,PHP獲得了最廣泛的支持,全球排行前100萬的網(wǎng)站中有70%以上采用了PHP技術(shù),例如國(guó)內(nèi)的百度、淘寶、新浪等大型網(wǎng)站。在論壇、中小型企業(yè)網(wǎng)站中,PHP更是處于絕對(duì)壟斷的地位。另外,PHP的各種資源相當(dāng)豐富,容易解決技術(shù)問題。因此,選擇PHP技術(shù)來設(shè)計(jì)系統(tǒng)。

      3.2 環(huán)境與數(shù)據(jù)庫設(shè)置

      采用phpStudy來配置環(huán)境。該軟件小巧精悍,集成了PHP編程環(huán)境、MySQL數(shù)據(jù)庫、phpMyAdmin管理工具、Apache服務(wù)器平臺(tái)等工具,自動(dòng)完成常規(guī)的配置[6]。此時(shí),在系統(tǒng)默認(rèn)的網(wǎng)站根目錄下的WWW文件夾編寫php網(wǎng)頁文件,就可以通過http://localhost/來訪問了。

      PHP默認(rèn)采用MySQL數(shù)據(jù)庫。MySQL具有開源、免費(fèi)、支持千萬條記錄、容易移植、安裝調(diào)試簡(jiǎn)便等優(yōu)點(diǎn),特別適合中小型信息系統(tǒng)[7]。該系統(tǒng)的數(shù)據(jù)表中有兩種類型的字段:①學(xué)號(hào),用于記錄若干行學(xué)生的學(xué)號(hào);②某次作業(yè),用于記錄某學(xué)生是否完成該次作業(yè)。由于作業(yè)的次數(shù)不是固定的,因此一般采用自動(dòng)增加的方式來實(shí)現(xiàn);而學(xué)號(hào)是固定的,需要從電子表格中導(dǎo)入。

      要將學(xué)號(hào)導(dǎo)入到MySQL數(shù)據(jù)表,首先要將電子表格的成績(jī)表,保留nums(學(xué)號(hào))這一列,另存為CSV格式的文件123.csv。然后在test數(shù)據(jù)庫中導(dǎo)入該文件。此處要注意勾選“文件首行包含數(shù)據(jù)表的字段名”,否則會(huì)影響該字段的名稱。完成之后,系統(tǒng)會(huì)自動(dòng)新建數(shù)據(jù)表TABLE 1。例如,筆者的某門課程有兩個(gè)班,學(xué)號(hào)分別從101到135、201到235,導(dǎo)入test數(shù)據(jù)庫后如圖1所示。

      默認(rèn)表TABLE 1的名字中間含有空格不方便操作,而且名稱也不容易記憶,在此采用RENAME TABLE `test`.`table 1` TO `test`.`pingshi` 的命令將該表改名為pingshi,意思是平時(shí)作業(yè)的數(shù)據(jù)表。

      3.3 Session控制新的字段

      不管是電子表格,還是MySQL中的數(shù)據(jù)表,都是一個(gè)行(記錄)、列(字段)的二維表。現(xiàn)在nums列已經(jīng)有了,學(xué)號(hào)數(shù)據(jù)也有了,只需要在網(wǎng)頁每次刷新的時(shí)候插入某次作業(yè)的新列即可。為了確保每一列都不相同,采用Session技術(shù),分三個(gè)步驟:

      第一,用Session_start()命令聲明使用Session變量。

      第二,定義變量并使之自增,例如$_SESSION['wu']++。其中的wu變量就是一個(gè)在所有頁面中的全局變量。

      第三,由于數(shù)字直接用于字段的名稱并不符合數(shù)據(jù)庫的命名規(guī)范,因此定義變量lie,用于產(chǎn)生新的字段。

      3.4 字符串的接收與分割

      為了接收用戶輸入的某次作業(yè)的學(xué)號(hào),首先要在PHP頁面中添加一個(gè)Form窗體、一個(gè)textarea文本框、一個(gè)submit的提交按鈕,HTML代碼如下:

      以上代碼中文本框的名字為text。當(dāng)用戶按下提交按鈕后,PHP程序通過if(!empty($_POST['button1']))判斷是否產(chǎn)生響應(yīng),然后對(duì)text的字符串進(jìn)行分割處理。字符串分割、模糊處理的算法很多[8],但是PHP提供了explode函數(shù),本系統(tǒng)的分割處理較為簡(jiǎn)單,因此直接使用explode將字符串打散為數(shù)組即可。核心代碼如下:

      此時(shí),$tmp[$i]就是某次作業(yè)所對(duì)應(yīng)所有學(xué)號(hào),將其插入到對(duì)應(yīng)的列即可。

      3.5 數(shù)據(jù)庫操作

      成績(jī)快速輸入系統(tǒng)面向的是數(shù)據(jù),因此核心的操作是數(shù)據(jù)庫。

      第一步,PHP頁面要鏈接到MySQL數(shù)據(jù)庫:

      第二步,將分割出來的各個(gè)學(xué)號(hào)的數(shù)值與pingshi表中的nums字段進(jìn)行匹配,如果符合則修改當(dāng)前作業(yè)列的內(nèi)容:

      第三步,循環(huán)遍歷本次輸入的字符串并修改數(shù)據(jù)庫之后,需要清空各種臨時(shí)變量并關(guān)閉數(shù)據(jù)庫鏈接:

      4 系統(tǒng)測(cè)試

      該系統(tǒng)在廣西欽州商貿(mào)學(xué)校的“網(wǎng)頁設(shè)計(jì)”、“Internet應(yīng)用”等幾門課程中投入使用,獲得較好的效果。例如,將某次作業(yè)的成績(jī)輸入到系統(tǒng)中,如圖2所示:

      第一行的“1”表示當(dāng)前session變量。第二行表示插入新的字段L1成功。接下來的文本框用于輸入學(xué)生的學(xué)號(hào)。點(diǎn)擊提交后,通過MySQL管理工具phpMyAdmin中可以看到插入的作業(yè)完成情況已經(jīng)成功,test數(shù)據(jù)庫中的pingshi表,里面除了nums字段外,還自動(dòng)增加了L1字段。已經(jīng)完成本次作業(yè)的101、103、104、105號(hào)同學(xué),他們的L1列的內(nèi)容被修改為1;而102號(hào)同學(xué)沒有完成,保持為初始化的數(shù)值0。

      輸入并提交完15次的作業(yè),就可以將該數(shù)據(jù)表導(dǎo)出為CSV格式,該格式可以在Excel中直接打開。最終效果如圖3所示。

      采用PHP成績(jī)快速輸入系統(tǒng),60秒就能輸入1個(gè)班的學(xué)號(hào)字符串并完成自動(dòng)處理。

      假設(shè)每位教師每個(gè)學(xué)期10個(gè)班、每個(gè)班級(jí)35人、每個(gè)學(xué)期15周次的作業(yè),PHP系統(tǒng)所需要的時(shí)間為:10×15×60=9000秒。

      而傳統(tǒng)的輸入方式是先在紙張上看到某學(xué)號(hào),再在電子表格中找到該學(xué)號(hào),將鼠標(biāo)定位到某次作業(yè)的那一列,輸入1回車確定。該操作流程每處理1人次的作業(yè)就需要消耗10秒時(shí)間,同樣的工作量需要的時(shí)間為:10×35×15×10=52500秒。

      經(jīng)過比較可以看出,PHP系統(tǒng)所需要的時(shí)間僅為傳統(tǒng)方式的17.1%,效率獲得極大提高。

      5 結(jié)束語

      針對(duì)海量作業(yè)成績(jī)的輸入難題,利用PHP設(shè)計(jì)自動(dòng)化處理系統(tǒng),通過PHP自動(dòng)增加新字段、對(duì)輸入字符串進(jìn)行分割、將提取的學(xué)號(hào)與數(shù)據(jù)庫匹配、修改數(shù)據(jù)庫等步驟,將學(xué)號(hào)排列混亂、大量數(shù)據(jù)的平時(shí)作業(yè)成績(jī)快速輸入到電子表格中。實(shí)踐顯示,該系統(tǒng)具有輸入便捷、處理快速、穩(wěn)定可靠等優(yōu)點(diǎn),能夠大大節(jié)約時(shí)間,減輕勞動(dòng)量。該系統(tǒng)容易移植到其他亂序、海量輸入的應(yīng)用場(chǎng)合中。

      參考文獻(xiàn)(References):

      [1] 吳國(guó)輝.基于AJAX的便攜式作業(yè)管理系統(tǒng)的設(shè)計(jì)[J].電子制作,2014.16:64-65

      [2] 倪玲玲.高職院校學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].湖北工業(yè)大學(xué)碩士學(xué)位論文,2017.

      [3] 許廣強(qiáng),賈翠翠,詹念等.基于FPGA和DBN的手寫體圖像識(shí)別算法的實(shí)現(xiàn)[J].電子世界,2017.7:69

      [4] 吳國(guó)輝.基于PXF模式快速提升網(wǎng)頁視覺效果的研究[J].電子技術(shù)與軟件工程,2016.14:107,165

      [5] 丁寧.基于PHP的在線調(diào)研系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京郵電大學(xué)碩士學(xué)位論文,2017.

      [6] phpstudy.phpstudy安裝及使用教程[EB/OL].http://www.phpstudy.net/jishu-php-2956.html

      [7]李強(qiáng).基于MySql的物流管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].西安文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2017.20(2):50-54

      [8] 何曉明,洪親,蔡堅(jiān)勇等.基于n-gram中英文字符串分割算法實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2012.8(23):5530-5533

      猜你喜歡
      字段
      圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
      CNMARC304字段和314字段責(zé)任附注方式解析
      無正題名文獻(xiàn)著錄方法評(píng)述
      關(guān)于CNMARC的3--字段改革的必要性與可行性研究
      孙吴县| 沈丘县| 郎溪县| 南宁市| 偃师市| 嵩明县| 曲水县| 镇远县| 本溪市| 景德镇市| 荥阳市| 米脂县| 伊宁市| 惠水县| 青海省| 安塞县| 舟曲县| 称多县| 子洲县| 鄂州市| 宜宾市| 惠来县| 南部县| 东莞市| 安塞县| 普陀区| 太保市| 新津县| 新干县| 新河县| 莱州市| 卓尼县| 梨树县| 遵义县| 青州市| 天全县| 通化县| 西贡区| 吉水县| 宜昌市| 辽中县|