




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PHP+MySQL開發(fā)實例教程ISBN號:978-7-5083-7194-8作者:毛書朋聶慶鵬653工程指定教材第9章PHP+MySQL多模塊新聞管理系統(tǒng)開發(fā)9.1系統(tǒng)分析9.2實施步驟9.3系統(tǒng)優(yōu)化9.4本章小結(jié)9.5練習(xí)題9.1系統(tǒng)分析PHP+MYSQL的組合,可以開發(fā)幾乎所有流行的Web應(yīng)用系統(tǒng)。如留言本、新聞或文章管理系統(tǒng)、各類信息發(fā)布系統(tǒng)、投票程序、論壇等等。而這些系統(tǒng)中,新聞發(fā)布系統(tǒng)具有很強(qiáng)的代表性。一個新聞發(fā)布系統(tǒng)幾乎包含了PHP+MYSQL編程的方方面面,可以說,如果能夠掌握PHP+MYSQL新聞發(fā)布系統(tǒng)的開發(fā)技術(shù),那么開發(fā)其他應(yīng)用系統(tǒng)的也不會有太大的難題。9.1系統(tǒng)分析任何系統(tǒng)的設(shè)計都必須從用戶實際的操作也就是用戶的需求分析。我們的新聞發(fā)布系統(tǒng)業(yè)不例外。新聞發(fā)布系統(tǒng)的主要目的就是管理用戶通過管理操作(如發(fā)布和修改新聞)讓可以瀏覽器網(wǎng)站的用戶看到相關(guān)的新聞信息。從這一點出發(fā),我們就不難得出本系統(tǒng)主要面對的是兩大類用戶:管理用戶(新聞發(fā)布與管理用戶)和瀏覽者。9.1系統(tǒng)分析管理用戶對新聞的管理應(yīng)該主要包括新聞模塊的添加與管理、新聞內(nèi)容的添加與管理,而且管理用戶的操作界面不是所有的用戶都可以進(jìn)的,也就是說必須有管理權(quán)限的用戶才能進(jìn)入。我們一般稱管理用戶進(jìn)入管理的平臺為后臺。瀏覽者的權(quán)限就是瀏覽管理用戶發(fā)布的新聞內(nèi)容,并可以進(jìn)行檢索以方便地找到自己想要看到的內(nèi)容。我們一般稱瀏覽者瀏覽或查閱信息的平臺為前臺。9.2實施步驟9.2.1系統(tǒng)功能設(shè)計后臺(管理用戶功能):新聞模塊添加、新聞模塊修改、新聞添加、新聞修改、密碼更改。前臺(瀏覽用戶功能):瀏覽模塊、瀏覽新聞、檢索新聞。系統(tǒng)功能可以用圖示表示如圖9-1。9.2實施步驟9.2.1系統(tǒng)功能設(shè)計9.2實施步驟9.2.2數(shù)據(jù)庫與表設(shè)計本新聞發(fā)布系統(tǒng)的數(shù)據(jù)庫名為“news_manage”,共含3個數(shù)據(jù)表,這3個數(shù)據(jù)表之間的關(guān)系簡單描述如圖9-2。9.2實施步驟9.2實施步驟其詳細(xì)的字段設(shè)計如下:一、manage_user_info(管理用戶信息數(shù)據(jù)表)
9.2實施步驟二、module_info(模塊信息數(shù)據(jù)表)9.2實施步驟三、news_info(新聞信息數(shù)據(jù)表)9.2實施步驟9.2.3文件結(jié)構(gòu)設(shè)計(詳見教材)9.2.4算法與代碼實現(xiàn)
創(chuàng)建數(shù)據(jù)庫有兩種方法:(1)從phpmyadmin的可視化操作界面創(chuàng)建數(shù)據(jù)庫、數(shù)據(jù)表。(2)在dos命令提示符下創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)表。9.2實施步驟有關(guān)代碼的具體實現(xiàn)其實是沒有原則上的先后關(guān)系,我們這里為了能夠較為清楚和方便地說明本系統(tǒng)的開發(fā)過程,我們按照圖9-3的流程進(jìn)行開發(fā)和講解:
9.2實施步驟下面我們就一步一步地來實現(xiàn)。
1)用戶登錄頁此處我們借用第8章中的land.html的相關(guān)代碼。具體代碼見step1文件夾中的lgoin.php。該文件中的PHP代碼的程序流程圖如圖9-4。(參見教材)9.2實施步驟2)后臺管理頁后臺登陸頁,也就是后臺管理的首頁,詳細(xì)代碼見manage文件夾下的index.php,其流程圖如圖9-5。3)新聞模塊添加頁新聞模塊添加頁具體代碼見manage文件夾下的module_add.php,其程序流程圖為圖9-6。9.2實施步驟4)新聞模塊修改頁新聞模塊修改頁所顯示的就是所有已經(jīng)添加的新聞模塊的列表,詳細(xì)代碼見manage文件夾下的module_list.php,這個頁面是比較簡單的,就是從數(shù)據(jù)庫中讀出所有已添加的新聞模塊信息,并以分頁的形式給出列表。在這個列表有對任一新聞模塊“刪除”和“修改”的鏈接,當(dāng)我們點擊“刪除”鏈接時就會刪除其對應(yīng)的新聞模塊信息,當(dāng)我們點擊“修改”時就會進(jìn)入新聞模塊修改頁,詳細(xì)代碼見manage文件夾下的module_bj.php,其程序流程圖見圖9-7。9.2實施步驟5)新聞添加頁新聞模塊添加頁具體代碼見manage文件加下的news_add.php,其程序流程圖為圖9-8。值得注意的是,在添加新聞時需要選擇添加到那個新聞模塊,我們這里是使用下拉菜單實現(xiàn)的,相關(guān)的代碼如下:
1:<selectname="module_id"> 2:<optionvalue=""selected="selected">請選擇...</option> 3:<?php 4://從數(shù)據(jù)庫中讀出所有的模塊信息,并用下拉列表的形式供管理用戶選擇
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行是一個下拉表單的HTML代碼。3-10行為PHP代碼,其中7、8、9行是循環(huán)輸出下拉表單項,表單項的內(nèi)容為5、6行從數(shù)據(jù)庫中讀出的數(shù)據(jù)。9.2實施步驟6)新聞修改頁新聞修改頁所顯示的就是所有已經(jīng)添加的新聞的列表,詳細(xì)代碼見manage文件夾下的news_list.php,這個頁面是比較簡單的,就是從數(shù)據(jù)庫中讀出所有已添加的新聞模塊信息,并以分頁的形式給出列表。因為在有些時候我們只想查看某個模塊內(nèi)的所有新聞,所以我們在本頁的頂部給出了不同模塊的鏈接,點擊不同的模塊鏈接,其下所顯示的新聞列表就是該模塊內(nèi)的所有新聞,并以分頁的形式列出。在這個列表有對任一新聞都有“刪除”和“修改”的鏈接,當(dāng)我們點擊“刪除”鏈接時就會刪除其對應(yīng)的新聞信息,當(dāng)我們點擊“修改”時就會進(jìn)入新聞模塊修改頁,詳細(xì)代碼見manage文件夾下的news_bj.php,其程序流程見圖9-9。9.2實施步驟7)密碼修改頁密碼修改頁具體代碼見manage文件加下的key_xg.php,其程序流程圖為圖9-10。8)安全退出其程序的詳細(xì)代碼如下:
1:<?php 2:$_SESSION["manage_name"]=""; 3:header("location:../login.php");4:?>截止到現(xiàn)在我們已經(jīng)把后臺管理程序制作完畢,下面我們就要來制作前臺顯示頁面。9.2實施步驟9)用戶瀏覽首頁用戶瀏覽首頁也是瀏覽用戶進(jìn)入本站的第一頁,本頁中需要給出的是所有的新聞某塊和每個模塊中的最新添加的若干新聞。實現(xiàn)的具體方法是從module_info數(shù)據(jù)表中查詢出所有的模塊,并循環(huán)輸出;在循環(huán)輸出每一個模塊中,從news_info數(shù)據(jù)表中查詢出屬于本模塊最后添加的前5條新聞,具體的代碼詳見step1文件夾下的index.php。10)某模塊新聞列表頁本頁使用分頁的方法和添加時間倒序的方式列出某一模塊所有的新聞。其實現(xiàn)的具體方法是接收傳遞到本頁的module_id,從news_info數(shù)據(jù)表中查詢出其字段等于接收過來的module_id的所有記錄,并采用分頁的形式輸出。就每一條新聞顯示其標(biāo)題、瀏覽次數(shù)、添加時間信息,我們點擊標(biāo)題,就可以進(jìn)入“新聞內(nèi)容頁”。11)新聞內(nèi)容頁9.2實施步驟本頁顯示具體某條新聞的具體信息,如標(biāo)題、瀏覽次數(shù)、添加時間、新聞具體內(nèi)容等。本頁實現(xiàn)的具體方法是接收傳遞到本頁的news_id,更新news_info數(shù)據(jù)表中id等于news_id的紀(jì)錄的times為times+1,再從news_info數(shù)據(jù)表中查詢出id等于news_id的記錄并輸出其標(biāo)題、瀏覽次數(shù)、添加時間、具體內(nèi)容等信息。12)新聞檢索頁本頁顯示符合傳遞到本頁的檢索關(guān)鍵字、檢索范圍的所有記錄的列表。其實現(xiàn)的具體方法是,接收傳遞到本的檢索關(guān)鍵字key和檢索范圍module_id,根據(jù)key和module_id的值構(gòu)造SQL語句,再執(zhí)行SQL語句,從news_info數(shù)據(jù)表中查詢出相關(guān)的記錄,以列表的形式輸出,輸出的方式和莫模塊新聞列表頁的方式一樣。9.2.5運行測試(參見教材)9.3系統(tǒng)優(yōu)化1、文件結(jié)構(gòu)的優(yōu)化。
2、數(shù)據(jù)庫服務(wù)器連接類庫文件的編寫對于多次復(fù)用的代碼,我們也編寫了一個類庫文件myfun.php,這個類庫中包含的就是我們自己定義的一些函數(shù)。
9.4本章小結(jié)本章中我們通過一個多模塊新聞發(fā)布系統(tǒng)的開發(fā)實例,詳細(xì)介紹了PHP+MYSQL數(shù)據(jù)庫開發(fā)的基本過程和基本思路。為了方便大家理解系統(tǒng)的開發(fā)過程,我們通過初步程序開發(fā)、代碼優(yōu)化、界面美化三個步驟由簡到繁、逐步細(xì)化最終實現(xiàn)我們想要的效果。讀者通過本章的學(xué)習(xí),應(yīng)當(dāng)深入領(lǐng)會PHP+MYSQL編程的基本思路,掌握數(shù)據(jù)庫編程中常見問題的解決方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京化工大學(xué)實驗室安全教育與在線考試題庫A卷
- 小學(xué)數(shù)學(xué)二年級整十整百整千數(shù)加減法口算練習(xí)990道
- 《如何玩轉(zhuǎn)轉(zhuǎn)介營銷》課件
- 《抽樣檢驗相關(guān)知識》課件
- 金融行業(yè)采購標(biāo)書撰寫技巧
- 旅游行業(yè)服務(wù)員培訓(xùn)感悟
- 運輸行業(yè)安全生產(chǎn)工作總結(jié)
- 制造業(yè)人才培養(yǎng)策略
- 內(nèi)科部門全面工作總結(jié)
- 網(wǎng)絡(luò)科技企業(yè)保安工作總結(jié)
- 泌尿外科護(hù)理疑難病例討論
- 富氫水項目經(jīng)濟(jì)效益及投資價值分析(模板參考)
- 小流域水土保持綜合治理工程初步設(shè)計
- 增強(qiáng)熱塑性塑料復(fù)合管在我國的發(fā)展現(xiàn)狀
- 機(jī)械設(shè)計外文文獻(xiàn)翻譯、中英文翻譯、外文翻譯
- 美標(biāo)漸開線花鍵計算程序2014.8
- 英格索蘭空壓機(jī)操作規(guī)程
- 簡單通用利潤表
- 風(fēng)動送樣手冊
- 績效考核評分標(biāo)準(zhǔn)
- 電力建設(shè)施工技術(shù)管理
評論
0/150
提交評論