2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩60頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  網(wǎng)絡(luò)留言板的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  【摘要】設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于B/S架構(gòu)的網(wǎng)絡(luò)留言板。該留言板系統(tǒng)采用PHP技術(shù)開發(fā),利用數(shù)據(jù)庫訪問技術(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的各種操作,從而實(shí)現(xiàn)了留言板的留言及管理功能。在設(shè)計(jì)過程中遵循軟件開發(fā)流程,首先對(duì)系統(tǒng)功能作出需求分析,在此基礎(chǔ)上建立系統(tǒng)的應(yīng)用原型,然后進(jìn)行了留言板系統(tǒng)的功能設(shè)計(jì)與實(shí)現(xiàn),經(jīng)過測(cè)試階段的反復(fù)調(diào)試和驗(yàn)證不斷地修正和完善系統(tǒng)功能,最終達(dá)到符

2、合要求的可行系統(tǒng)。實(shí)現(xiàn)的具體功能包括用戶注冊(cè)、留言查看、留言簽寫、留言搜索及后臺(tái)管理等,并根據(jù)不同功能模塊面向的用戶對(duì)權(quán)限進(jìn)行了合理劃分。</p><p>  【關(guān)鍵詞】留言板;PHP;數(shù)據(jù)庫;MySQL</p><p>  Design and Implementation of Message Boards</p><p><b>  XXX</

3、b></p><p>  (Grade**, Class**, Major XXX,School of Mathematics and Computer Science,Shaanxi University of Technology,Hanzhong 723001,Shaanxi)</p><p><b>  Tutor:XX</b></p>&

4、lt;p>  Abstract: A internet message board based on B / S structure is designed and implemented. The message board system is developed with the PHP language, makes use of the database access technology for database ope

5、rations, in order to achieve the leaving words function and management function. Following the software development processes during the design process, first of all the requirement analysis is made for the system. Based

6、 on this the system application prototype is established, and then the</p><p>  Key words:Message boards; PHP; Database; MySQL</p><p><b>  目錄</b></p><p><b>  引言1&

7、lt;/b></p><p><b>  1 系統(tǒng)分析1</b></p><p>  1.1可行性分析1</p><p><b>  1.2需求分析1</b></p><p>  1.2.1系統(tǒng)設(shè)計(jì)目標(biāo)1</p><p>  1.2.2系統(tǒng)功能分析1</

8、p><p>  2 系統(tǒng)開發(fā)工具及環(huán)境1</p><p>  2.1 MVC三層構(gòu)架1</p><p>  2.2開發(fā)工具簡(jiǎn)介1</p><p>  2.2.1 PHP簡(jiǎn)介1</p><p>  2.2.2 Apache簡(jiǎn)介1</p><p>  2.2.3 MySQL數(shù)據(jù)庫簡(jiǎn)介1<

9、;/p><p><b>  2.3開發(fā)模式1</b></p><p>  2.4系統(tǒng)開發(fā)環(huán)境1</p><p>  3 系統(tǒng)概要設(shè)計(jì)1</p><p><b>  3.1模塊設(shè)計(jì)1</b></p><p>  3.2留言板系統(tǒng)流程1</p><p&g

10、t;<b>  4 數(shù)據(jù)庫設(shè)計(jì)1</b></p><p>  4.1數(shù)據(jù)庫需求分析1</p><p>  4.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)1</p><p>  4.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)1</p><p>  5 系統(tǒng)詳細(xì)設(shè)計(jì)1</p><p>  5.1數(shù)據(jù)庫的連接1</p>

11、<p><b>  5.2首頁設(shè)計(jì)1</b></p><p>  5.3用戶登錄模塊的實(shí)現(xiàn)1</p><p>  5.4首頁查看留言的實(shí)現(xiàn)1</p><p>  5.5留言搜索的實(shí)現(xiàn)1</p><p>  5.6用戶簽寫留言實(shí)現(xiàn)1</p><p>  5.6.1敏感詞過濾1&

12、lt;/p><p>  5.6.2驗(yàn)證碼技術(shù)的實(shí)現(xiàn)1</p><p>  5.6.3簽寫留言的入庫操作1</p><p>  5.7用戶注冊(cè)模塊的設(shè)計(jì)1</p><p><b>  5.8后臺(tái)設(shè)計(jì)1</b></p><p>  5.8.1后臺(tái)頁面設(shè)計(jì)1</p><p>

13、;  5.8.2敏感詞添加的實(shí)現(xiàn)1</p><p>  5.8.3留言管理的實(shí)現(xiàn)1</p><p>  6 系統(tǒng)功能測(cè)試1</p><p><b>  總結(jié)1</b></p><p><b>  致謝1</b></p><p><b>  參考文獻(xiàn)1&l

14、t;/b></p><p><b>  科技外文文獻(xiàn)1</b></p><p>  附錄A: 源程序代碼1</p><p>  附錄B: 系統(tǒng)使用說明書1</p><p><b>  引言</b></p><p>  由于Internet技術(shù)持續(xù)而飛速的發(fā)展,給人

15、們各個(gè)方面帶來了巨大變化,尤其對(duì)傳統(tǒng)的交流方式提出了新的模式和要求,由此而誕生的網(wǎng)絡(luò)留言板系統(tǒng)在Internet應(yīng)用上的地位顯而易見。網(wǎng)絡(luò)留言板系統(tǒng)利用網(wǎng)絡(luò)一定的時(shí)效性和廣泛的傳播面,可以方便人與人之間的信息交流和互動(dòng)。它已成為現(xiàn)代網(wǎng)絡(luò)信息化建設(shè)中的重要組成部分,從而備受人們的重視。</p><p>  最初,留言只是用于發(fā)布公告系統(tǒng),討論問題的在線交流平臺(tái);但現(xiàn)在的網(wǎng)絡(luò)留言板已經(jīng)不再是以一個(gè)留言板的形式獨(dú)立地呈

16、現(xiàn)給用戶留言,隨著網(wǎng)絡(luò)的普及,留言的功能越來越豐富,受到廣大網(wǎng)民的歡迎。留言板已被作為一種網(wǎng)站系統(tǒng)的留言功能模塊嵌入到一些需要留言功能的網(wǎng)站系統(tǒng)中,從而減少了網(wǎng)站留言功能模塊的開發(fā),像企業(yè)、學(xué)校等單位可以利用網(wǎng)上的留言發(fā)布公告、通知等。因此留言板在未來的網(wǎng)站系統(tǒng)中是不可缺少的一部分。對(duì)于一般企業(yè)而言,網(wǎng)絡(luò)留言系統(tǒng)能夠通過網(wǎng)絡(luò)提供方便的日常信息管理和交互,同時(shí)只需要相對(duì)較低廉的建設(shè)和維護(hù)成本。另外,企業(yè)還可以通過網(wǎng)絡(luò)留言板,為客戶提供一個(gè)

17、跨地域的交流平臺(tái),以便及時(shí)了解和掌握客戶需求,加強(qiáng)企業(yè)與客戶之間的溝通,提高企業(yè)的市場(chǎng)競(jìng)爭(zhēng)力。</p><p>  借助于留言板可以方便和朋友的聯(lián)系,加強(qiáng)朋友之間的感情交流,可以方便的查閱各種資料,可以提高獲取信息的隨機(jī)性,促進(jìn)信息和技術(shù)的交流,還可以為用戶提供一個(gè)休閑的聚會(huì)空間,以此來增加網(wǎng)站的人氣,維持穩(wěn)定數(shù)目的訪問群體。因此,本次開發(fā)留言板系統(tǒng)旨在探索尋求一種以互聯(lián)網(wǎng)為基礎(chǔ)的開放模式,更好的方便人們?nèi)粘P畔?/p>

18、的溝通。</p><p><b>  1 系統(tǒng)分析</b></p><p>  隨著互聯(lián)網(wǎng)的高速發(fā)展,越來越多的人們都在網(wǎng)上建立起了自己的留言板,很多留言板為我們的日常生活提供了很大的幫助,展示了強(qiáng)大的媒體優(yōu)勢(shì),留言板的作用越來越受到重視,已經(jīng)成為了大家信息溝通,技術(shù)交流不可或缺的工具。要開發(fā)網(wǎng)絡(luò)留言板,首先應(yīng)掌握它的用戶需求,理清它的功能結(jié)構(gòu),然后才能夠有依有據(jù)的進(jìn)

19、行功能模塊的劃分,開發(fā)環(huán)境的選擇,進(jìn)而進(jìn)行整個(gè)系統(tǒng)的代碼實(shí)現(xiàn)。</p><p><b>  1.1可行性分析</b></p><p>  網(wǎng)絡(luò)留言板可以為用戶和企業(yè)提供一個(gè)具有更好互動(dòng)性的交流平臺(tái),方便企業(yè)快速獲取來自不同層次用戶的反饋信息,并可以更有效地處理這些反饋信息,從而減少花費(fèi)到這方面的大量時(shí)間,提高經(jīng)濟(jì)管理效率。</p><p>  

20、網(wǎng)站開發(fā)近年來呈現(xiàn)飛速發(fā)展,已形成現(xiàn)在的以asp,jsp,asp.net,php開發(fā)語言和開發(fā)平臺(tái),各個(gè)軟件公司相繼投入研發(fā)人員不斷的改進(jìn)產(chǎn)品,因此從技術(shù)上講已經(jīng)具有成熟的環(huán)境。因php簡(jiǎn)單易學(xué),開發(fā)速度快的特點(diǎn)。為了盡快開發(fā)出這個(gè)留言板,我選擇用php進(jìn)行開發(fā)。</p><p><b>  1.2需求分析</b></p><p>  在網(wǎng)絡(luò)高速發(fā)展的今天,網(wǎng)絡(luò)留言板

21、給人們提供了良好的互動(dòng)溝通的平臺(tái)。使用網(wǎng)絡(luò)留言板的網(wǎng)民人數(shù)眾多,使得網(wǎng)絡(luò)留言板的留言內(nèi)容豐富多樣,人們可以通過網(wǎng)絡(luò)留言板討論工作、學(xué)習(xí)、生活和娛樂,以及對(duì)留言內(nèi)容和對(duì)事物進(jìn)行評(píng)論,從而在網(wǎng)上建立一個(gè)任何人都可以參與的互動(dòng)天地,網(wǎng)絡(luò)留言板已成為當(dāng)今網(wǎng)絡(luò)最為多元化和平民化的互動(dòng)交流的空間和平臺(tái)。對(duì)于網(wǎng)民,只要有網(wǎng)絡(luò)留言板,就可以超越現(xiàn)實(shí)生活,擁有不同以往的全新網(wǎng)上生活。</p><p>  網(wǎng)絡(luò)留言板的形式相對(duì)簡(jiǎn)單,

22、大體上可分為留言和留言管理兩部分,它雖然簡(jiǎn)單無比,但卻逐漸成為一種新的網(wǎng)絡(luò)應(yīng)用模式,它一出現(xiàn)便獲得了很多人的支持和參與。網(wǎng)絡(luò)發(fā)展前景無限,及早與網(wǎng)絡(luò)結(jié)合,與信息時(shí)代同步,與高科技匯合,定會(huì)給社會(huì)各行各業(yè)的發(fā)展注入新鮮的活力。站在網(wǎng)絡(luò)時(shí)代的前夜,我們清晰地聽到了網(wǎng)絡(luò)時(shí)代的宣言,誰掌握了網(wǎng)絡(luò),誰就掌握了未來?,F(xiàn)對(duì)于互聯(lián)網(wǎng)日益增長(zhǎng)的用戶群來說,網(wǎng)絡(luò)留言板會(huì)有相當(dāng)大的需求。</p><p>  1.2.1系統(tǒng)設(shè)計(jì)目標(biāo)&l

23、t;/p><p>  網(wǎng)絡(luò)留言板的設(shè)計(jì)目標(biāo)實(shí)現(xiàn)以下功能:新用戶注冊(cè)功能、用戶登錄功能、登錄用戶發(fā)表留言功能、登錄用戶查看留言并給管理員留悄悄話的功能、管理員登錄功能、管理員回復(fù)留言功能、管理員刪除留言功能、管理員發(fā)布系統(tǒng)公告功能和管理員添加敏感詞的功能。</p><p>  1.2.2系統(tǒng)功能分析</p><p>  開發(fā)一個(gè)留言板系統(tǒng),首先應(yīng)確定留言板的功能,最基本的

24、留言板需要實(shí)現(xiàn)的功能很簡(jiǎn)單,一般有用戶查看留言,發(fā)表留言;管理員查看留言,回復(fù)留言和刪除留言。屬于用戶的業(yè)務(wù)操作有檢索留言、查看留言和發(fā)表留言,留言管理者的業(yè)務(wù)操作相對(duì)用戶要多一項(xiàng),即管理留言,包括回復(fù)留言和刪除留言等操作。</p><p>  本系統(tǒng)將要實(shí)現(xiàn)的留言板是在最基本的留言板的功能的基礎(chǔ)上進(jìn)行擴(kuò)展,實(shí)現(xiàn)一個(gè)高級(jí)的網(wǎng)絡(luò)留言板。</p><p>  前臺(tái)功能需求:用戶登錄、用戶注冊(cè)、

25、留言查看、留言檢索、顯示系統(tǒng)公告和簽寫留言等。其中,在留言查看模塊中要實(shí)現(xiàn)查看全部留言、分頁瀏覽留言及管理員回帖顯示等功能,在簽寫留言模塊中要實(shí)現(xiàn)敏感詞過濾、給管理管理員悄悄話、支持圖像和表情以及支持驗(yàn)證碼等功能。</p><p>  后臺(tái)功能需求:管理員登錄、留言管理、公告發(fā)布與管理和敏感詞添加與管理。其中,留言管理要實(shí)現(xiàn)查看留言、回復(fù)留言、刪除留言及查找留言等功能。</p><p> 

26、 2 系統(tǒng)開發(fā)工具及環(huán)境</p><p>  系統(tǒng)開發(fā)環(huán)境的選擇對(duì)于系統(tǒng)的建立來說至關(guān)重要,它將決定著系統(tǒng)開發(fā)工作量的大小,系統(tǒng)性能特點(diǎn)以及系統(tǒng)今后維護(hù)工作的易難等。因此在開發(fā)系統(tǒng)之前,根據(jù)對(duì)系統(tǒng)所采用的技術(shù)、實(shí)現(xiàn)功能的評(píng)估,在選擇開發(fā)環(huán)境時(shí),主要考慮了一下幾個(gè)因素:擴(kuò)展性、總體成本、功能、是否容易開發(fā)和管理,另外開放性和互操作性也是需要考慮的一個(gè)重要方面,因?yàn)樵撓到y(tǒng)是運(yùn)行在Internet上的,用戶平臺(tái)的差異性

27、決定了與其他系統(tǒng)的互操作是不可避免的。</p><p>  2.1 MVC三層構(gòu)架</p><p>  MVC是Model-View-Controller的簡(jiǎn)寫,“Model”代表的是應(yīng)用的業(yè)務(wù)邏輯,“View”是應(yīng)用的表面,“Controller”是提供應(yīng)用的處理工程控制,通過這種設(shè)計(jì)模型把應(yīng)用邏輯,吃力過程和顯示邏輯分成不同的組件實(shí)現(xiàn)。這些組件可以進(jìn)行交互和重用。</p>

28、<p><b>  2.2開發(fā)工具簡(jiǎn)介</b></p><p>  以簡(jiǎn)單、易用和免費(fèi)為出發(fā)點(diǎn),本系統(tǒng)將選用PHP作為開發(fā)語言,選用Apache作為系統(tǒng)調(diào)試的Web服務(wù)器,數(shù)據(jù)庫選用MySQL。</p><p>  2.2.1 PHP簡(jiǎn)介</p><p>  PHP是服務(wù)器端的一種編程語言,是為了創(chuàng)建HTML內(nèi)容而設(shè)計(jì)的既簡(jiǎn)單游強(qiáng)大

29、的語言。PHP和其他的編程語言類似,使用變量存儲(chǔ)臨時(shí)數(shù)值,使用運(yùn)算符操作變量。PHP的真正價(jià)值在于它是一個(gè)應(yīng)用程序服務(wù)器。</p><p>  PHP起源于自由軟件,即開放源代碼軟件,使用PHP進(jìn)行Web應(yīng)用程序的開發(fā)具有以下語言優(yōu)勢(shì)。</p><p>  安全性高:PHP是開源軟件,每個(gè)人都可以看到所有PHP的源代碼,程序代碼與Apache編譯在一起的范式也可以讓它具有靈活的安全設(shè)定,P

30、HP具有了公認(rèn)的安全性能。</p><p>  跨平臺(tái):PHP幾乎支持所有的操作系統(tǒng)平臺(tái)并且支持Apache、IIS等多種Web服務(wù)器,并以此廣為流行。</p><p>  支持廣泛的數(shù)據(jù)庫:可操作多種主流與非主流的數(shù)據(jù)庫,如MySQL、Access、SQL Server、Oracle、DB2等,其中PHP與MySQL是現(xiàn)在最佳的組合,它們的組合可以跨平臺(tái)運(yùn)行。</p>&l

31、t;p>  簡(jiǎn)單易學(xué):PHP嵌入在HTML語言中,以腳本語言為主,內(nèi)置豐富函數(shù),語法簡(jiǎn)單、書寫容易、方便學(xué)習(xí)掌握。</p><p>  執(zhí)行速度快:占用系統(tǒng)資源少,代碼執(zhí)行速度快。</p><p>  模板化:實(shí)現(xiàn)程序邏輯與用戶界面分離。</p><p>  支持面向?qū)ο螅褐С置嫦驅(qū)ο蠛瓦^程的兩種風(fēng)格開發(fā),并可向下兼容。</p><p>

32、;  開發(fā)成本低:在流行的企業(yè)應(yīng)用LAMP平臺(tái)中,Linux、Apache、MySQL和PHP都是免費(fèi)軟件,這種開源免費(fèi)的框架結(jié)構(gòu)可以為網(wǎng)站經(jīng)營(yíng)者節(jié)省很大一筆開支。</p><p>  內(nèi)嵌Zend加速引擎,性能穩(wěn)定快速。</p><p>  應(yīng)用范圍廣:PHP技術(shù)在Web開發(fā)的各個(gè)方面應(yīng)用的非常廣泛,世界上很多大公司都采用了PHP技術(shù)。</p><p>  2.2

33、.2 Apache簡(jiǎn)介</p><p>  Apache是世界使用排名第一的Web服務(wù)器軟件。它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上。Apache源于NCSAhttpd服務(wù)器,經(jīng)過多次修改,成為世界上最流行的Web服務(wù)器軟件之一。Apache的特點(diǎn)是簡(jiǎn)單、速度快、性能穩(wěn)定,并可做代理服務(wù)器來使用。Apache web服務(wù)器軟件擁有以下特性:</p><p>  支持最新的HTTP/1.

34、1通信協(xié)議;</p><p>  擁有簡(jiǎn)單而強(qiáng)有力的機(jī)遇文件的配置過程;</p><p><b>  支持通用網(wǎng)關(guān)接口;</b></p><p>  支持基于IP和基于域名的虛擬主機(jī);</p><p>  支持多種方式的HTTP認(rèn)證;</p><p>  集成Perl處理模塊;</p>

35、<p>  集成代理服務(wù)器模塊;</p><p>  支持實(shí)時(shí)監(jiān)視服務(wù)器狀態(tài)和定制服務(wù)器日志;</p><p>  支持服務(wù)器端包含指令(SSI);</p><p>  支持安全Socket層(SSL);</p><p>  提供用戶會(huì)話過程的跟蹤;</p><p>  2.2.3 MySQL數(shù)據(jù)庫簡(jiǎn)介&

36、lt;/p><p>  MySQL是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器。SQL(結(jié)構(gòu)化查詢語言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫語言。MySQL是以一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),它由一個(gè)服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫組成。</p><p>  SQL是一種標(biāo)準(zhǔn)化的語言,它使得存儲(chǔ)、更新和存取信息更容易。例如,你能用SQL語言為一個(gè)網(wǎng)站檢索產(chǎn)品信息及存儲(chǔ)顧客信息,同時(shí)

37、MySQL也足夠快和靈活以允許你存儲(chǔ)記錄文件和圖像。</p><p>  MySQL 主要目標(biāo)是快速、健壯和易用。最初是因?yàn)槲覀冃枰@樣一個(gè)SQL服務(wù)器,它能處理與任何可不昂貴硬件平臺(tái)上提供數(shù)據(jù)庫的廠家在一個(gè)數(shù)量級(jí)上的大型數(shù)據(jù)庫,但速度更快,MySQL就開發(fā)出來。自1996年以來,我們一直都在使用MySQL,其環(huán)境有超過 40 個(gè)數(shù)據(jù)庫,包含 10,000個(gè)表,其中500多個(gè)表超過7百萬行,這大約有100 個(gè)吉字

38、節(jié)(GB)的關(guān)鍵應(yīng)用數(shù)據(jù)。</p><p>  MySQL建立的基礎(chǔ)是業(yè)已用在高要求的生產(chǎn)環(huán)境多年的一套實(shí)用例程。盡管MySQL仍在開發(fā)中,但它已經(jīng)提供一個(gè)豐富和極其有用的功能集。</p><p>  MySQL 最早起始于 1979 年,開始是 Michael “Monty” Widenius 為瑞典的 TcX 公司創(chuàng)建的 UNIREG 數(shù)據(jù)庫工具。1994 年,TcX 開始尋找一個(gè)用來

39、開發(fā) Web 應(yīng)用程序的 SQL 服務(wù)器。他們測(cè)試了一些商業(yè)服務(wù)器,但是發(fā)現(xiàn)所有服務(wù)器對(duì)于 TcX 的大型表來說都太慢。他們也試了 mSQL,但它缺乏 TcX 需要的某些功能。因此,Monty 開始開發(fā)一種新的服務(wù)器。其編程接口明確地設(shè)計(jì)為類似 mSQL 的編程接口,因?yàn)?mSQL 可得到幾個(gè)免費(fèi)的工具,所以利用與 mSQL 類似的接口,可以將這些相同的工具用于MySQL 從而大大減少了開發(fā)接口的工作。</p><p

40、>  1995 年,Detron HB公司的 David Axmark 努力爭(zhēng)取 TcX公司在因特網(wǎng)上發(fā)布 MySQL。David 還做了文檔資料方面的工作和使 MySQL 與 GNU 的配置實(shí)用程序一起建造的工作。MySQL 3.11.1 在 1996 年以用于 Linux 和 Solaris 系統(tǒng)的二進(jìn)制分發(fā)形式發(fā)布。今天,MySQL 正工作在許多平臺(tái)上,并且二進(jìn)制和源代碼的形式都可以得到。</p><p&

41、gt;  MySQL 并不是一個(gè)開放源代碼的產(chǎn)品,因?yàn)樵谀承l件下使用它需要許可證。但是,MySQL 很愿意在開放源代碼的團(tuán)體內(nèi)得以普及,因?yàn)椤罢J(rèn)證”這個(gè)術(shù)語并不是非常有約束力的(除非通過出售 MySQL 或出售需要它的服務(wù)來掙錢,否則,大體上說 MySQL 一般是免費(fèi)的)。</p><p>  MySQL 的普及并不限于開放源代碼團(tuán)體內(nèi)。雖然它在個(gè)人計(jì)算機(jī)上運(yùn)行(確實(shí),MySQL 的開發(fā)一般在不昂貴的 Linu

42、x 系統(tǒng)上進(jìn)行),但它是可移植的,并且運(yùn)行在商用操作系統(tǒng)(如 Solaris、Irix 和 Windows)和一直到企業(yè)服務(wù)器的各種硬件上。此外,它的性能也足以和任何其他系統(tǒng)相匹敵,而且它還可以處理具有數(shù)百萬個(gè)記錄的大型數(shù)據(jù)庫。</p><p>  MySQL 的廣泛應(yīng)用前景在我們面前尚未完全展開,如運(yùn)行在功能強(qiáng)但不昂貴的硬件上的免費(fèi)可用操作系統(tǒng),將豐富的處理功能和能力提供給比以往更多的人,在比過去范圍更廣的系統(tǒng)

43、上運(yùn)行等等。信息處理的經(jīng)濟(jì)障礙的降低使強(qiáng)有力的數(shù)據(jù)庫解決方案到達(dá)了比過去任何時(shí)候更多的人和機(jī)構(gòu)的手中。例如,本人在運(yùn)行 LinuxPPC 的 G3 PowerBook 筆記本電腦上使用 MySQL 與 Perl、Apache 和 PHP,這允許本人在任何地方都可以進(jìn)行工作,總的成本只是 PowerBook 的成本。</p><p>  過去只能夢(mèng)想將高性能的 RDBMS 用于自己工作的機(jī)構(gòu),現(xiàn)在可以這樣做了,并且

44、開銷很低。數(shù)據(jù)庫的利用在單一的層次上也在不斷地增加。過去從未想過要使用數(shù)據(jù)庫的人現(xiàn)在也開始考慮一旦得到一個(gè)數(shù)據(jù)庫,怎樣將其用于自己的各種目的,例如用來存儲(chǔ)和訪問系統(tǒng)的研究結(jié)果,跟蹤和維護(hù)最喜愛的收藏物(蝴蝶、郵票、捧球明星卡等等),幫助管理新開張的公司,或者提供個(gè)人 Web 站點(diǎn)的搜索能力。</p><p><b>  2.3開發(fā)模式</b></p><p>  網(wǎng)站

45、建設(shè)目前主要有兩種基本的開發(fā)模型:兩層模型、三層模型。B/S結(jié)構(gòu)是真正的三層結(jié)構(gòu),它以訪問WEB數(shù)據(jù)庫為中心,HTTP為傳輸協(xié)議,客戶端通過瀏覽器(Browser)訪問WEB服務(wù)器和與其相連的后臺(tái)數(shù)據(jù)庫,我們稱之為B/S(Browser/Server)模式。其三級(jí)結(jié)構(gòu)組成如圖2.3所示:</p><p>  圖2.3 開發(fā)模式圖</p><p>  圖中從左到右,分為三個(gè)層次:</p

46、><p>  第一層是客戶端即瀏覽器,主要完成客戶和后臺(tái)的交互及最終查詢結(jié)果的輸出功能。在客戶端向指定的Web服務(wù)器提出服務(wù)器請(qǐng)求,Web服務(wù)器用HTTP協(xié)議把所需文件資料傳給用戶,客戶端接受并顯示在WWW瀏覽器上;</p><p>  第二層Web服務(wù)器是功能層,完成客戶的應(yīng)用功能,即Web服務(wù)器接受客戶請(qǐng)求,并與后臺(tái)數(shù)據(jù)庫連接,進(jìn)行申請(qǐng)?zhí)幚恚缓髮⑻幚斫Y(jié)果返回Web服務(wù)器,再傳至客戶端;&

47、lt;/p><p>  第三層數(shù)據(jù)庫服務(wù)器是數(shù)據(jù)層。數(shù)據(jù)庫服務(wù)器應(yīng)客戶請(qǐng)求獨(dú)立地進(jìn)行各種處理。</p><p>  與傳統(tǒng)的C/S模式相比,B/S結(jié)構(gòu)把處理功能全部移植到了服務(wù)器端,用戶的請(qǐng)求通過瀏覽器發(fā)出,無論是使用和數(shù)據(jù)庫維護(hù)上都比傳統(tǒng)模式更加經(jīng)濟(jì)方便。而且使維護(hù)任務(wù)層次化:管理員負(fù)責(zé)服務(wù)器硬件日常管理和維護(hù),系統(tǒng)維護(hù)人員負(fù)責(zé)后臺(tái)數(shù)據(jù)庫數(shù)據(jù)更新維護(hù)。</p><p>

48、;<b>  2.4系統(tǒng)開發(fā)環(huán)境</b></p><p>  系統(tǒng)能夠順利開發(fā)完成,好的開發(fā)環(huán)境是必要的。該系統(tǒng)使用的開發(fā)環(huán)境如下。</p><p><b>  服務(wù)器端</b></p><p>  操作系統(tǒng):Windows Server 2003。</p><p>  服務(wù)器:Apache 2.0

49、。</p><p>  PHP軟件:PHP 5.0。</p><p>  數(shù)據(jù)庫:MySQL 5.0</p><p>  MySQL圖形化管理軟件:phpMySQLAdmin-2.9.0.2。</p><p><b>  瀏覽器:IE8.0</b></p><p><b>  客戶端&l

50、t;/b></p><p>  瀏覽器:推薦使用IE6.0及以上版本。</p><p><b>  3 系統(tǒng)概要設(shè)計(jì)</b></p><p><b>  3.1模塊設(shè)計(jì)</b></p><p>  經(jīng)過系統(tǒng)的功能分析可以明確的知道,網(wǎng)絡(luò)留言板的功能分為普通用戶的前臺(tái)功能和留言管理的后臺(tái)功能兩部

51、分,因此模塊也分為兩部分進(jìn)行設(shè)計(jì)。網(wǎng)絡(luò)留言板的模塊體系如圖3.1所示。</p><p>  網(wǎng)絡(luò)留言系統(tǒng)主要包括以下功能模塊:</p><p>  查看留言功能模塊:供用戶查看及瀏覽留言;</p><p>  簽寫留言功能模塊:用戶簽寫留言、過濾留言敏感詞、給管理員悄悄話;</p><p>  文章查看功能模塊:用戶可查看管理員發(fā)表的文章;&

52、lt;/p><p>  最新留言列表顯示功能模塊:用戶可以瀏覽最新的留言;</p><p>  用戶注冊(cè)功能模塊:供需要留言的用戶注冊(cè)賬號(hào);</p><p>  管理員登錄功能模塊:管理員登錄;</p><p>  留言管理功能模塊:管理留言、查找留言、回復(fù)留言、管理管理員私貼;</p><p>  公告功能模塊:公告的發(fā)

53、表、公告瀏覽、公告刪除;</p><p>  敏感詞管理功能模塊:添加敏感詞、讀取敏感詞。</p><p>  圖3.1 網(wǎng)絡(luò)留言板的模塊體系</p><p>  3.2留言板系統(tǒng)流程</p><p>  系統(tǒng)的各個(gè)功能模塊已確定,接下來要做的是分析清楚各個(gè)模塊之間的流程關(guān)系,將各個(gè)功能模塊串聯(lián)起來,使得模塊之間有關(guān)聯(lián)的關(guān)系,這樣才能構(gòu)成一個(gè)

54、完整的系統(tǒng)。</p><p>  首先簽寫留言信息,然后對(duì)留言內(nèi)容進(jìn)行敏感詞過濾,如果提交成功,則將留言信息顯示在前臺(tái)首頁,最后由管理員對(duì)留言信息進(jìn)行綜合管理。管理員對(duì)留言進(jìn)行管理之前先要登錄,登錄成功后進(jìn)入后臺(tái)的留言管理頁面。留言板的系統(tǒng)流程如圖3.2所示。</p><p>  圖3.2 網(wǎng)絡(luò)留言板系統(tǒng)流程</p><p><b>  4 數(shù)據(jù)庫設(shè)計(jì)&l

55、t;/b></p><p>  4.1數(shù)據(jù)庫需求分析</p><p>  本系統(tǒng)的主要實(shí)體有:用戶信息實(shí)體、留言信息實(shí)體、留言回復(fù)信息實(shí)體、文章信息實(shí)體。各實(shí)體之間的關(guān)系E-R圖如圖4.1所示。</p><p>  圖4.1 網(wǎng)上留言系統(tǒng)E-R圖</p><p>  4.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)</p><p>  

56、數(shù)據(jù)庫邏輯設(shè)計(jì)將所有實(shí)體和關(guān)系轉(zhuǎn)換成一個(gè)系列的關(guān)系模式,將圖4.1中數(shù)據(jù)庫E-R圖轉(zhuǎn)換成為關(guān)系模型。</p><p>  用戶:(用戶編號(hào),用戶名,昵稱,密碼)</p><p>  留言信息:(留言編號(hào),留言昵稱,留言主題,留言內(nèi)容,留言心情,留言時(shí)間,用戶頭像,回復(fù)標(biāo)記,私貼標(biāo)記)</p><p>  留言回復(fù)信息:(留言編號(hào),留言昵稱,留言主題,留言內(nèi)容,留言心

57、情)</p><p>  公告信息:(公告編號(hào),公告主題,心情,公告內(nèi)容,發(fā)布日期)</p><p>  4.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  根據(jù)數(shù)據(jù)項(xiàng),可以設(shè)計(jì)出滿足需求的各種實(shí)體,以及它們之間的關(guān)系。這樣本系統(tǒng)設(shè)計(jì)一下實(shí)體:用戶、留言、留言回復(fù)和公告。這幾種實(shí)體對(duì)應(yīng)數(shù)據(jù)庫中的4個(gè)表:tb_user、tb_note、tb_note_answer和tb_f

58、il,每個(gè)表與邏輯設(shè)計(jì)中一種關(guān)系模型對(duì)應(yīng)。下面是每個(gè)數(shù)據(jù)表中的屬性,包括屬性列的名稱,數(shù)據(jù)類型,長(zhǎng)度等內(nèi)容。</p><p>  經(jīng)過上面對(duì)系統(tǒng)功能的分析和需求總結(jié),設(shè)計(jì)出如下所示的數(shù)據(jù)項(xiàng):</p><p>  用戶,包括用戶編號(hào)、用戶名、昵稱和密碼。用戶信息及屬性如圖4.2所示。</p><p>  圖4.2 用戶實(shí)體屬性圖</p><p>

59、;  tb_user表:tb_user表用來存儲(chǔ)用戶的ID、用戶名、昵稱及密碼,如表4.1所示,主鍵是在一個(gè)表上定義的唯一鍵中的一個(gè),而且一個(gè)表上只能有一個(gè)主鍵。</p><p>  表4.1 用戶信息數(shù)據(jù)表</p><p>  留言,包括留言編號(hào)、留言昵稱、留言主題、留言內(nèi)容、留言心情、留言時(shí)間、用戶頭像、回復(fù)標(biāo)記和私貼標(biāo)記。留言信息及屬性如圖4.3所示。</p><

60、p>  圖4.3 留言實(shí)體屬性圖</p><p>  tb_note表:tb_note表用來存儲(chǔ)留言的留言編號(hào)、留言昵稱、留言主題、留言內(nèi)容、留言心情、留言時(shí)間、用戶頭像、回復(fù)標(biāo)記及私貼標(biāo)記,留言信息及屬性如表4.2所示。</p><p>  表4.2留言信息數(shù)據(jù)表</p><p>  回復(fù),包括留言編號(hào)、留言昵稱、留言主題、留言內(nèi)容和留言心情?;貜?fù)信息及屬性

61、如圖4.4所示。</p><p>  圖4.4 留言回復(fù)實(shí)體屬性圖</p><p>  tb_note_answer表:tb_note_answer表用來存儲(chǔ)留言編號(hào)、留言昵稱、留言主題、留言內(nèi)容和留言心情,回復(fù)信息及屬性如表4.3所示。</p><p>  表4.3 回復(fù)信息數(shù)據(jù)表</p><p>  公告,包括公告編號(hào)、公告主題、心情、公

62、告內(nèi)容和發(fā)布日期。公告信息及屬性如圖4.5所示。</p><p>  圖4.5 文章實(shí)體實(shí)體屬性圖</p><p>  tb_file表:tb_file表用來存儲(chǔ)系統(tǒng)公告的編號(hào)、公告主題、心情、公告內(nèi)容和發(fā)布日期,公告的信息及屬性如表4.4所示。</p><p>  表4.4 文章信息表</p><p><b>  5 系統(tǒng)詳細(xì)設(shè)計(jì)

63、</b></p><p><b>  5.1數(shù)據(jù)庫的連接</b></p><p>  為了便于維護(hù),減少代碼冗余,在數(shù)據(jù)庫連接這部分,采用面向?qū)ο蟮姆绞?,定義了一個(gè)數(shù)據(jù)庫訪問類DB_MySQL。定義數(shù)據(jù)庫訪問類的代碼如下。</p><p><b>  <?php</b></p><p&

64、gt;  /********************************************</p><p><b>  *數(shù)據(jù)庫訪問類</b></p><p>  *********************************************/</p><p>  class DB_MySQL{</p>&l

65、t;p>  //==========================</p><p>  var $Host = "127.0.0.1";//服務(wù)器地址</p><p>  var $Database = "db_leaveword";//數(shù)據(jù)庫名稱</p><p>  var $User = "ro

66、ot";//用戶名</p><p>  var $Password = "root";//用戶密碼</p><p>  //==========================</p><p>  var $Link_ID = 0;//數(shù)據(jù)庫連接</p><p>  var $Quer

67、y_ID = 0;//查詢結(jié)果</p><p>  var $Row_Result = array();//結(jié)果集組成的數(shù)組</p><p>  var $Field_Result = array();//結(jié)果集字段名組成的數(shù)組</p><p>  var $Affected_Rows;//影響的行數(shù)</p><p&

68、gt;  var $Rows;//結(jié)果集中記錄行數(shù)</p><p>  var $Fields;//結(jié)果集中字段個(gè)數(shù)</p><p>  var $Row_Position = 0;//記錄指針位置索引</p><p>  //*****************************************************

69、**</p><p>  /*** 構(gòu)造函數(shù) */</p><p>  function __construct(){</p><p>  $this->connect();</p><p><b>  }</b></p><p>  /*** 解析函數(shù) */</p><

70、p>  function __destruct(){</p><p>  mysql_close($this->Link_ID);</p><p><b>  }</b></p><p>  /*** 連接服務(wù)器,選擇數(shù)據(jù)庫 */</p><p>  function connect($Database =

71、"",$Host = "",$User = "",$Password = ""){</p><p>  if ("" == $Database){</p><p>  $Database = $this->Database;</p><p><b> 

72、 }</b></p><p>  if ("" == $Host){</p><p>  $Host = $this->Host;</p><p><b>  }</b></p><p>  if ("" == $User){</p><

73、;p>  $User = $this->User;</p><p><b>  }</b></p><p>  if ("" == $Password){</p><p>  $Password = $this->Password;</p><p><b>  }&

74、lt;/b></p><p>  if ( 0 == $this->Link_ID )</p><p><b>  {</b></p><p>  $this->Link_ID=@mysql_pconnect($Host, $User, $Password);</p><p>  if (!$this-

75、>Link_ID)</p><p><b>  {</b></p><p>  $this->halt("連接數(shù)據(jù)庫服務(wù)端失敗!");</p><p><b>  }</b></p><p>  if (!mysql_select_db($this->Datab

76、ase,$this->Link_ID))</p><p><b>  {</b></p><p>  $this->halt("不能打開指定的數(shù)據(jù)庫:".$this->Database);</p><p><b>  }</b></p><p><b>

77、;  }</b></p><p>  return $this->Link_ID;</p><p><b>  }</b></p><p>  /*** 釋放內(nèi)存 */</p><p>  function free(){</p><p>  if ( @mysql_free_r

78、esult($this->Query_ID) )</p><p>  unset ($this->Row_Result);</p><p>  $this->Query_ID = 0;</p><p><b>  }</b></p><p>  /*** 執(zhí)行查詢 */</p><p

79、>  function query($Query_String){</p><p>  /* 釋放上次查詢占用的內(nèi)存 */</p><p>  if ($this->Query_ID){</p><p>  $this->free();</p><p><b>  }</b></p>&l

80、t;p>  if(0 == $this->Link_ID){</p><p>  $this->connect();</p><p><b>  }</b></p><p><b>  //設(shè)置中文字符集</b></p><p>  @mysql_query("set n

81、ames gb2312",$this->Link_ID);</p><p>  $this->Query_ID = @mysql_query($Query_String,$this->Link_ID);</p><p>  if (!$this->Query_ID){</p><p>  $this->halt("S

82、QL查詢語句出錯(cuò): ".$Query_String);</p><p><b>  }</b></p><p>  return $this->Query_ID;</p><p><b>  }</b></p><p>  /*** 返回結(jié)果集記錄組成的數(shù)組 */</p>

83、<p>  function get_rows_array(){</p><p>  $this->get_rows();</p><p>  for($i=0;$i<$this->Rows;$i++){</p><p>  if(!mysql_data_seek($this->Query_ID,$i)){</p>

84、<p>  $this->halt("mysql_data_seek查詢語句出錯(cuò)");//調(diào)用自定義函數(shù)</p><p><b>  }</b></p><p>  $this->Row_Result[$i] = mysql_fetch_array($this->Query_ID);</p><

85、p><b>  }</b></p><p>  return $this->Row_Result;</p><p><b>  }</b></p><p>  /*** 返回結(jié)果集字段組成的數(shù)組 */</p><p>  function get_fields_array(){</

86、p><p>  $this->get_fields();</p><p>  for($i=0;$i<$this->Fields;$i++){</p><p>  $obj = mysql_fetch_field($this->Query_ID,$i);</p><p>  $this->Field_Result[$

87、i] = $obj->name;</p><p><b>  }</b></p><p>  return $this->Field_Result;</p><p><b>  }</b></p><p>  /*** 返回結(jié)果集中記錄行數(shù) */</p><p>

88、  function get_rows(){</p><p>  $this->Rows = mysql_num_rows($this->Query_ID);</p><p>  return $this->Rows;</p><p><b>  }</b></p><p>  /*** 返回結(jié)果集中字

89、段個(gè)數(shù) */</p><p>  function get_fields(){</p><p>  $this->Fields = mysql_num_fields($this->Query_ID);</p><p>  return $this->Fields;</p><p><b>  }</b>

90、</p><p>  /*** 執(zhí)行SQL語句并返回由查詢結(jié)果中第一行記錄組成的數(shù)組 */</p><p>  function fetch_one_array($sql){</p><p>  $this->query($sql);</p><p>  return mysql_fetch_array($this->Query_

91、ID);</p><p><b>  }</b></p><p>  /*** 打印錯(cuò)誤信息 */</p><p>  function halt($msg){</p><p>  $this->Error=mysql_error();</p><p>  printf("<

92、BR><b>數(shù)據(jù)庫發(fā)生錯(cuò)誤:</b> %s<br>\n", $msg);</p><p>  printf("<b>MySQL 返回錯(cuò)誤信息:</b> %s <br>\n",$this->Error);</p><p><b>  }</b></p

93、><p><b>  }</b></p><p><b>  ?></b></p><p>  在這個(gè)類中,定義了一個(gè)connect()函數(shù)用來連接數(shù)據(jù)庫服務(wù)器并選擇數(shù)據(jù)庫,函數(shù)query()的功能為執(zhí)行查詢數(shù)據(jù)庫。</p><p><b>  5.2首頁設(shè)計(jì)</b><

94、/p><p>  首頁是整個(gè)網(wǎng)絡(luò)留言板的入口地址,合理的首頁布局和模塊分配直接影響到用戶對(duì)留言板的第一印象。為了吸引更多的用戶瀏覽和使用網(wǎng)絡(luò)留言板,在系統(tǒng)開發(fā)時(shí)需要精心地對(duì)首頁進(jìn)行設(shè)計(jì)。</p><p>  本系統(tǒng)在頁面設(shè)計(jì)上采用傳統(tǒng)的排版方式,主要有首部導(dǎo)航欄、左側(cè)顯示區(qū)和主顯示區(qū)3部分組成,如圖5.1所示。</p><p>  首部導(dǎo)航欄:包括留言簽寫鏈接、管理留言

95、鏈接及用戶注冊(cè)鏈接。</p><p>  左側(cè)顯示區(qū):包括用戶登錄、文章顯示、檢索留言、最新留言等模塊。</p><p>  主顯示區(qū):為留言瀏覽和顯示等信息。</p><p>  圖5.1 網(wǎng)絡(luò)留言板首頁</p><p>  5.3用戶登錄模塊的實(shí)現(xiàn)</p><p>  用戶登錄模塊設(shè)計(jì)在首頁中,使用戶在需要留言時(shí)能

96、夠快捷方便地登錄。當(dāng)用戶輸入用戶名和密碼并登錄成功后,用戶登錄模塊就不在顯示在首頁中,直到用戶注銷在線狀態(tài)。用戶登錄模塊如圖5.2所示。當(dāng)?shù)顷懣蛑休斎氲挠脩裘兔艽a在數(shù)據(jù)庫中存在時(shí),利用全局?jǐn)?shù)組$_SESSION[]保存此次登錄用戶的信息,并提示登錄成功,如圖5.3所示。</p><p>  圖5.2 用戶登錄 圖5.3 提示登錄成功</

97、p><p>  用戶登錄時(shí)的進(jìn)行用戶名及密碼匹配的業(yè)務(wù)操作代碼如下。</p><p><b>  <?php</b></p><p>  require("conn.php");</p><p>  $username =trim($_POST['username']);</p

98、><p>  $pwd = md5(trim($_POST['password']));</p><p>  $sql = "select nicheng from tb_user where username = '".$username."' and pwd = '".$pwd."'"

99、;;</p><p>  $check_result = mysql_query($sql);</p><p>  if($result = mysql_fetch_array($check_result)){</p><p>  $_SESSION['check'] = 3;</p><p>  $_SESSION['

100、;username'] = $username;</p><p>  $_SESSION['nicheng'] = $result[0];</p><p><b>  ?></b></p><p>  <script language="javascript"></p>

101、<p>  alert("登錄成功!");location='index.php';</p><p><b>  </script></b></p><p><b>  <?php </b></p><p><b>  }else{</b&g

102、t;</p><p><b>  ?></b></p><p>  <script language="javascript"></p><p>  alert("對(duì)不起,你輸入的用戶名或密碼不正確!請(qǐng)重新輸入。");location='index.php';</p

103、><p><b>  </script></b></p><p><b>  <?php</b></p><p><b>  }</b></p><p>  5.4首頁查看留言的實(shí)現(xiàn)</p><p>  (1) 可查看留言的用戶分為兩種,即

104、注冊(cè)用戶和非注冊(cè)用戶(游客)。</p><p>  注冊(cè)用戶除了可以查看其他用戶的留言和版主的回復(fù)外,還可以看到自己給版主的悄悄話及版主對(duì)此悄悄話的回復(fù),在此非注冊(cè)用戶只有瀏覽其他用戶的留言和版主的回復(fù)的權(quán)限。在注冊(cè)用戶與非注冊(cè)用戶的區(qū)分上用到了變量$_SESSION[‘username’]中保存的用戶名。當(dāng)首頁被打開時(shí),如果$_SESSION[‘username’]沒被設(shè)置,就可以確定當(dāng)前的用戶為非注冊(cè)用戶,在

105、本頁面中沒有查看悄悄話的權(quán)限;如果$_SESSION[‘username’]不為空,就可以確定當(dāng)前用戶為注冊(cè)用戶。非注冊(cè)用戶查看留言的效果如圖5.4所示,注冊(cè)用戶查看留言的效果如圖5.5所示。</p><p>  圖5.4 非注冊(cè)用戶查看留言效果</p><p>  圖5.5 注冊(cè)用戶查看留言效果</p><p>  (2) 在首頁的留言顯示及查看模塊中,采用分頁技

106、術(shù)。</p><p>  確定記錄跨度$row_per_page,即每頁顯示的記錄數(shù),設(shè)置每頁顯示三條留言信息,根據(jù)公式“總記錄數(shù)/跨度”,如果有余數(shù)則進(jìn)位取整來計(jì)算總頁數(shù)$page_count。獲取傳遞的當(dāng)前頁數(shù)$page_num,通過三目運(yùn)算符計(jì)算判斷第一頁或者最后一頁的位置。最后為SQL語句添加limit子句,計(jì)算查詢的起始位置并執(zhí)行SQL語句,將結(jié)果集存儲(chǔ)到數(shù)組中。實(shí)現(xiàn)代碼如下。</p>&

107、lt;p>  if($_GET){</p><p>  //得到要提取的頁碼</p><p>  $page_num = $_GET['page_num']? $_GET['page_num']: 1;</p><p><b>  }</b></p><p><b>  e

108、lse{</b></p><p>  //首次進(jìn)入時(shí),頁碼為1</p><p>  $page_num = 1;</p><p><b>  }</b></p><p><b>  //得到總記錄數(shù)</b></p><p>  $DB->query($sql

109、);</p><p>  $row_count_sum = $DB->get_rows();</p><p>  //每頁記錄數(shù),可以使用默認(rèn)值或者直接指定值</p><p>  $row_per_page = 3;</p><p><b>  //總頁數(shù)</b></p><p>  $pa

110、ge_count = ceil($row_count_sum/$row_per_page);</p><p>  //判斷是否為第一頁或者最后一頁</p><p>  $is_first = (1 == $page_num) ? 1 : 0;</p><p>  $is_last = ($page_num == $page_count) ? 1 : 0;</p

111、><p><b>  //查詢起始行位置</b></p><p>  $start_row = ($page_num-1) * $row_per_page;</p><p>  //為SQL語句添加limit子句</p><p>  $sql .= " limit $start_row,$row_per_page&

112、quot;;</p><p><b>  //執(zhí)行查詢</b></p><p>  $DB->query($sql);</p><p>  $res = $DB->get_rows_array();</p><p><b>  //結(jié)果集行數(shù)</b></p><p&g

113、t;  $rows_count=count($res);</p><p>  分頁控制鏈接的代碼實(shí)現(xiàn)如下。</p><p>  <td align="center" bgcolor="#F9F8EF">『&nbsp;當(dāng)前第&nbsp;<font color="#AA0066"><?ph

114、p echo $page_num;?></font>&nbsp;頁/共&nbsp;<font color="#AA0066"><?php echo $page_count;?>&nbsp;</font>頁&nbsp;』&nbsp;&nbsp;每頁『&nbsp;<font color="#AA

115、0066"><?php echo $row_per_page;?></font>&nbsp;』條&nbsp;&nbsp;&nbsp;&nbsp;</p><p><b>  <?php</b></p><p>  if(!$is_first){</p><p>

116、;<b>  ?></b></p><p>  <a href="./index.php?page_num=1">第一頁</a> <a href="./index.php?page_num=<?php echo ($page_num-1) ?>">上一頁</a></p>&

117、lt;p><b>  <?php}</b></p><p>  else{?> 第一頁&nbsp;&nbsp;上一頁<?php}</p><p>  if(!$is_last){</p><p><b>  ?></b></p><p>  <a

118、href="./index.php?page_num=<?php echo ($page_num+1) ?>">下一頁</a> <a href="./index.php?page_num=<?php echo $page_count ?>">最后一頁</a></p><p><b>  <?p

119、hp</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  ?></b></p><p>  下一頁&am

120、p;nbsp;&nbsp;最后一頁</p><p><b>  <?php</b></p><p><b>  }</b></p><p><b>  ?></b></p><p>  &nbsp; <a href="./user_n

121、ote_read.php?id=-1" target="_blank"> <span class="style2">全部留言</span> </a></td></p><p><b>  </tr></b></p><p><b>  <

122、/table></b></p><p>  5.5留言搜索的實(shí)現(xiàn)</p><p>  信息檢索是對(duì)已存在與數(shù)據(jù)庫中的數(shù)據(jù)按條件進(jìn)行篩選瀏覽,是查看歷史信息和確認(rèn)數(shù)據(jù)操作最為快速、有效的辦法。</p><p>  在留言板中檢索版塊中輸入欲查詢的關(guān)鍵字,對(duì)指定條件的留言信息進(jìn)行模糊查詢,并輸出與查詢條件相匹配的結(jié)果到瀏覽器。本模塊的搜索可根據(jù)標(biāo)題、內(nèi)

123、容、姓名及時(shí)間等任一個(gè)關(guān)鍵字進(jìn)行檢索。留言搜索模塊效果如圖5.6所示。</p><p>  這里用到了like運(yùn)算符配合通配符進(jìn)行模糊的查詢,實(shí)現(xiàn)留言的檢索功能。</p><p>  $sql = "select note.*,noan.* from tb_note as note left join tb_note_answer as noan on note.note_id

124、= noan.noan_note_id";</p><p>  $sql.=" where note.note_title like '%".$key_words."%' or note.note_content like '%".$key_words."%' or note.note_time like '%&q

125、uot;.$key_words."%' or note.note_user like '%".$key_words."%'";</p><p>  $DB->query($sql);</p><p>  $note = $DB->get_rows_array($sql);</p><p>&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論