版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PHP+MySQL開(kāi)發(fā)實(shí)例教程ISBN號(hào):978-7-5083-7194-8作者:毛書(shū)朋聶慶鵬653工程指定教材第9章PHP+MySQL多模塊新聞管理系統(tǒng)開(kāi)發(fā)9.1系統(tǒng)分析9.2實(shí)施步驟9.3系統(tǒng)優(yōu)化9.4本章小結(jié)9.5練習(xí)題9.1系統(tǒng)分析PHP+MYSQL的組合,可以開(kāi)發(fā)幾乎所有流行的Web應(yīng)用系統(tǒng)。如留言本、新聞或文章管理系統(tǒng)、各類信息發(fā)布系統(tǒng)、投票程序、論壇等等。而這些系統(tǒng)中,新聞發(fā)布系統(tǒng)具有很強(qiáng)的代表性。一個(gè)新聞發(fā)布系統(tǒng)幾乎包含了PHP+MYSQL編程的方方面面,可以說(shuō),如果能夠掌握PHP+MYSQL新聞發(fā)布系統(tǒng)的開(kāi)發(fā)技術(shù),那么開(kāi)發(fā)其他應(yīng)用系統(tǒng)的也不會(huì)有太大的難題。9.1系統(tǒng)分析任何系統(tǒng)的設(shè)計(jì)都必須從用戶實(shí)際的操作也就是用戶的需求分析。我們的新聞發(fā)布系統(tǒng)業(yè)不例外。新聞發(fā)布系統(tǒng)的主要目的就是管理用戶通過(guò)管理操作(如發(fā)布和修改新聞)讓可以瀏覽器網(wǎng)站的用戶看到相關(guān)的新聞信息。從這一點(diǎn)出發(fā),我們就不難得出本系統(tǒng)主要面對(duì)的是兩大類用戶:管理用戶(新聞發(fā)布與管理用戶)和瀏覽者。9.1系統(tǒng)分析管理用戶對(duì)新聞的管理應(yīng)該主要包括新聞模塊的添加與管理、新聞內(nèi)容的添加與管理,而且管理用戶的操作界面不是所有的用戶都可以進(jìn)的,也就是說(shuō)必須有管理權(quán)限的用戶才能進(jìn)入。我們一般稱管理用戶進(jìn)入管理的平臺(tái)為后臺(tái)。瀏覽者的權(quán)限就是瀏覽管理用戶發(fā)布的新聞內(nèi)容,并可以進(jìn)行檢索以方便地找到自己想要看到的內(nèi)容。我們一般稱瀏覽者瀏覽或查閱信息的平臺(tái)為前臺(tái)。9.2實(shí)施步驟9.2.1系統(tǒng)功能設(shè)計(jì)后臺(tái)(管理用戶功能):新聞模塊添加、新聞模塊修改、新聞添加、新聞修改、密碼更改。前臺(tái)(瀏覽用戶功能):瀏覽模塊、瀏覽新聞、檢索新聞。系統(tǒng)功能可以用圖示表示如圖9-1。9.2實(shí)施步驟9.2.1系統(tǒng)功能設(shè)計(jì)9.2實(shí)施步驟9.2.2數(shù)據(jù)庫(kù)與表設(shè)計(jì)本新聞發(fā)布系統(tǒng)的數(shù)據(jù)庫(kù)名為“news_manage”,共含3個(gè)數(shù)據(jù)表,這3個(gè)數(shù)據(jù)表之間的關(guān)系簡(jiǎn)單描述如圖9-2。9.2實(shí)施步驟9.2實(shí)施步驟其詳細(xì)的字段設(shè)計(jì)如下:一、manage_user_info(管理用戶信息數(shù)據(jù)表)
9.2實(shí)施步驟二、module_info(模塊信息數(shù)據(jù)表)9.2實(shí)施步驟三、news_info(新聞信息數(shù)據(jù)表)9.2實(shí)施步驟9.2.3文件結(jié)構(gòu)設(shè)計(jì)(詳見(jiàn)教材)9.2.4算法與代碼實(shí)現(xiàn)
創(chuàng)建數(shù)據(jù)庫(kù)有兩種方法:(1)從phpmyadmin的可視化操作界面創(chuàng)建數(shù)據(jù)庫(kù)、數(shù)據(jù)表。(2)在dos命令提示符下創(chuàng)建數(shù)據(jù)庫(kù)數(shù)據(jù)表。9.2實(shí)施步驟有關(guān)代碼的具體實(shí)現(xiàn)其實(shí)是沒(méi)有原則上的先后關(guān)系,我們這里為了能夠較為清楚和方便地說(shuō)明本系統(tǒng)的開(kāi)發(fā)過(guò)程,我們按照?qǐng)D9-3的流程進(jìn)行開(kāi)發(fā)和講解:
9.2實(shí)施步驟下面我們就一步一步地來(lái)實(shí)現(xiàn)。
1)用戶登錄頁(yè)此處我們借用第8章中的land.html的相關(guān)代碼。具體代碼見(jiàn)step1文件夾中的lgoin.php。該文件中的PHP代碼的程序流程圖如圖9-4。(參見(jiàn)教材)9.2實(shí)施步驟2)后臺(tái)管理頁(yè)后臺(tái)登陸頁(yè),也就是后臺(tái)管理的首頁(yè),詳細(xì)代碼見(jiàn)manage文件夾下的index.php,其流程圖如圖9-5。3)新聞模塊添加頁(yè)新聞模塊添加頁(yè)具體代碼見(jiàn)manage文件夾下的module_add.php,其程序流程圖為圖9-6。9.2實(shí)施步驟4)新聞模塊修改頁(yè)新聞模塊修改頁(yè)所顯示的就是所有已經(jīng)添加的新聞模塊的列表,詳細(xì)代碼見(jiàn)manage文件夾下的module_list.php,這個(gè)頁(yè)面是比較簡(jiǎn)單的,就是從數(shù)據(jù)庫(kù)中讀出所有已添加的新聞模塊信息,并以分頁(yè)的形式給出列表。在這個(gè)列表有對(duì)任一新聞模塊“刪除”和“修改”的鏈接,當(dāng)我們點(diǎn)擊“刪除”鏈接時(shí)就會(huì)刪除其對(duì)應(yīng)的新聞模塊信息,當(dāng)我們點(diǎn)擊“修改”時(shí)就會(huì)進(jìn)入新聞模塊修改頁(yè),詳細(xì)代碼見(jiàn)manage文件夾下的module_bj.php,其程序流程圖見(jiàn)圖9-7。9.2實(shí)施步驟5)新聞添加頁(yè)新聞模塊添加頁(yè)具體代碼見(jiàn)manage文件加下的news_add.php,其程序流程圖為圖9-8。值得注意的是,在添加新聞時(shí)需要選擇添加到那個(gè)新聞模塊,我們這里是使用下拉菜單實(shí)現(xiàn)的,相關(guān)的代碼如下:
1:<selectname="module_id"> 2:<optionvalue=""selected="selected">請(qǐng)選擇...</option> 3:<?php 4://從數(shù)據(jù)庫(kù)中讀出所有的模塊信息,并用下拉列表的形式供管理用戶選擇
5: $query="select*frommodule_infoorderbyshow_order"; 6: $result=mysql_query($query,$id);
7: while($module=mysql_fetch_array($result,MYSQL_ASSOC)){
8: echo"<optionvalue=".$module["id"].">".$module["module_name"]."</option>";
9: } 10: ?> 11: </select>
上面給出的程序中的1、2、11行是一個(gè)下拉表單的HTML代碼。3-10行為PHP代碼,其中7、8、9行是循環(huán)輸出下拉表單項(xiàng),表單項(xiàng)的內(nèi)容為5、6行從數(shù)據(jù)庫(kù)中讀出的數(shù)據(jù)。9.2實(shí)施步驟6)新聞修改頁(yè)新聞修改頁(yè)所顯示的就是所有已經(jīng)添加的新聞的列表,詳細(xì)代碼見(jiàn)manage文件夾下的news_list.php,這個(gè)頁(yè)面是比較簡(jiǎn)單的,就是從數(shù)據(jù)庫(kù)中讀出所有已添加的新聞模塊信息,并以分頁(yè)的形式給出列表。因?yàn)樵谟行r(shí)候我們只想查看某個(gè)模塊內(nèi)的所有新聞,所以我們?cè)诒卷?yè)的頂部給出了不同模塊的鏈接,點(diǎn)擊不同的模塊鏈接,其下所顯示的新聞列表就是該模塊內(nèi)的所有新聞,并以分頁(yè)的形式列出。在這個(gè)列表有對(duì)任一新聞都有“刪除”和“修改”的鏈接,當(dāng)我們點(diǎn)擊“刪除”鏈接時(shí)就會(huì)刪除其對(duì)應(yīng)的新聞信息,當(dāng)我們點(diǎn)擊“修改”時(shí)就會(huì)進(jìn)入新聞模塊修改頁(yè),詳細(xì)代碼見(jiàn)manage文件夾下的news_bj.php,其程序流程見(jiàn)圖9-9。9.2實(shí)施步驟7)密碼修改頁(yè)密碼修改頁(yè)具體代碼見(jiàn)manage文件加下的key_xg.php,其程序流程圖為圖9-10。8)安全退出其程序的詳細(xì)代碼如下:
1:<?php 2:$_SESSION["manage_name"]=""; 3:header("location:../login.php");4:?>截止到現(xiàn)在我們已經(jīng)把后臺(tái)管理程序制作完畢,下面我們就要來(lái)制作前臺(tái)顯示頁(yè)面。9.2實(shí)施步驟9)用戶瀏覽首頁(yè)用戶瀏覽首頁(yè)也是瀏覽用戶進(jìn)入本站的第一頁(yè),本頁(yè)中需要給出的是所有的新聞某塊和每個(gè)模塊中的最新添加的若干新聞。實(shí)現(xiàn)的具體方法是從module_info數(shù)據(jù)表中查詢出所有的模塊,并循環(huán)輸出;在循環(huán)輸出每一個(gè)模塊中,從news_info數(shù)據(jù)表中查詢出屬于本模塊最后添加的前5條新聞,具體的代碼詳見(jiàn)step1文件夾下的index.php。10)某模塊新聞列表頁(yè)本頁(yè)使用分頁(yè)的方法和添加時(shí)間倒序的方式列出某一模塊所有的新聞。其實(shí)現(xiàn)的具體方法是接收傳遞到本頁(yè)的module_id,從news_info數(shù)據(jù)表中查詢出其字段等于接收過(guò)來(lái)的module_id的所有記錄,并采用分頁(yè)的形式輸出。就每一條新聞顯示其標(biāo)題、瀏覽次數(shù)、添加時(shí)間信息,我們點(diǎn)擊標(biāo)題,就可以進(jìn)入“新聞內(nèi)容頁(yè)”。11)新聞內(nèi)容頁(yè)9.2實(shí)施步驟本頁(yè)顯示具體某條新聞的具體信息,如標(biāo)題、瀏覽次數(shù)、添加時(shí)間、新聞具體內(nèi)容等。本頁(yè)實(shí)現(xiàn)的具體方法是接收傳遞到本頁(yè)的news_id,更新news_info數(shù)據(jù)表中id等于news_id的紀(jì)錄的times為times+1,再?gòu)膎ews_info數(shù)據(jù)表中查詢出id等于news_id的記錄并輸出其標(biāo)題、瀏覽次數(shù)、添加時(shí)間、具體內(nèi)容等信息。12)新聞檢索頁(yè)本頁(yè)顯示符合傳遞到本頁(yè)的檢索關(guān)鍵字、檢索范圍的所有記錄的列表。其實(shí)現(xiàn)的具體方法是,接收傳遞到本的檢索關(guān)鍵字key和檢索范圍module_id,根據(jù)key和module_id的值構(gòu)造SQL語(yǔ)句,再執(zhí)行SQL語(yǔ)句,從news_info數(shù)據(jù)表中查詢出相關(guān)的記錄,以列表的形式輸出,輸出的方式和莫模塊新聞列表頁(yè)的方式一樣。9.2.5運(yùn)行測(cè)試(參見(jiàn)教材)9.3系統(tǒng)優(yōu)化1、文件結(jié)構(gòu)的優(yōu)化。
2、數(shù)據(jù)庫(kù)服務(wù)器連接類庫(kù)文件的編寫(xiě)對(duì)于多次復(fù)用的代碼,我們也編寫(xiě)了一個(gè)類庫(kù)文件myfun.php,這個(gè)類庫(kù)中包含的就是我們自己定義的一些函數(shù)。
9.4本章小結(jié)本章中我們通過(guò)一個(gè)多模塊新聞發(fā)布系統(tǒng)的開(kāi)發(fā)實(shí)例,詳細(xì)介紹了PHP+MYSQL數(shù)據(jù)庫(kù)開(kāi)發(fā)的基本過(guò)程和基本思路。為了方便大家理解系統(tǒng)的開(kāi)發(fā)過(guò)程,我們通過(guò)初步程序開(kāi)發(fā)、代碼優(yōu)化、界面美化三個(gè)步驟由簡(jiǎn)到繁、逐步細(xì)化最終實(shí)現(xiàn)我們想要的效果。讀者通過(guò)本章的學(xué)習(xí),應(yīng)當(dāng)深入領(lǐng)會(huì)PHP+MYSQL編程的基本思路,掌握數(shù)據(jù)庫(kù)編程中常見(jiàn)問(wèn)題的解決方
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度田地承包與農(nóng)業(yè)廢棄物回收處理合同3篇
- 2024年度藝術(shù)品擔(dān)保書(shū)之擔(dān)保函與擔(dān)保合同3篇
- 2024事業(yè)單位試用期勞動(dòng)合同續(xù)簽與解除注意事項(xiàng)合同2篇
- 2024版?zhèn)€人健身器材融資租賃及健身指導(dǎo)服務(wù)合同3篇
- 2024版實(shí)驗(yàn)室環(huán)保設(shè)施建設(shè)合同3篇
- 2024同居伴侶寵物飼養(yǎng)與責(zé)任承擔(dān)合同3篇
- 2024年版:股權(quán)轉(zhuǎn)讓合同-適用于股東之間股權(quán)的買(mǎi)賣(mài)或轉(zhuǎn)讓
- 2024年人事代理聘用合同簽訂后的糾紛處理與仲裁3篇
- 2024年汽車(chē)售后服務(wù)外包合同樣本2篇
- 2024版人工智能技術(shù)研發(fā)與應(yīng)用推廣合同3篇
- 職業(yè)院?!敖鹫n”建設(shè)方案
- 施工進(jìn)度計(jì)劃分析
- 青海省2024年中考化學(xué)真題【附真題答案】
- 中央2024年應(yīng)急管理部宣傳教育中心招聘筆試歷年典型考題及考點(diǎn)附答案解析
- 醫(yī)療護(hù)理核心技術(shù)操作專項(xiàng)規(guī)程
- 工會(huì)十八大精神、工會(huì)法知識(shí)考試題庫(kù)及答案
- 警務(wù)崗?fù)そㄔO(shè)合同
- 學(xué)校數(shù)字化教育資源建設(shè)實(shí)施方案
- 2024年云天化集團(tuán)有限責(zé)任公司校園招聘考試試題附答案
- 學(xué)前兒童 數(shù)學(xué)100道應(yīng)用題
- 2022原發(fā)性肝癌診療指南之肝內(nèi)膽管癌診療中國(guó)專家共識(shí)
評(píng)論
0/150
提交評(píng)論