電力出版社《PHP+MySQL開發(fā)實例教程》全套課件(第9章)_第1頁
電力出版社《PHP+MySQL開發(fā)實例教程》全套課件(第9章)_第2頁
電力出版社《PHP+MySQL開發(fā)實例教程》全套課件(第9章)_第3頁
電力出版社《PHP+MySQL開發(fā)實例教程》全套課件(第9章)_第4頁
電力出版社《PHP+MySQL開發(fā)實例教程》全套課件(第9章)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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本章小結9.5練習題9.1系統(tǒng)分析PHP+MYSQL的組合,可以開發(fā)幾乎所有流行的Web應用系統(tǒng)。如留言本、新聞或文章管理系統(tǒng)、各類信息發(fā)布系統(tǒng)、投票程序、論壇等等。而這些系統(tǒng)中,新聞發(fā)布系統(tǒng)具有很強的代表性。一個新聞發(fā)布系統(tǒng)幾乎包含了PHP+MYSQL編程的方方面面,可以說,如果能夠掌握PHP+MYSQL新聞發(fā)布系統(tǒng)的開發(fā)技術,那么開發(fā)其他應用系統(tǒng)的也不會有太大的難題。9.1系統(tǒng)分析任何系統(tǒng)的設計都必須從用戶實際的操作也就是用戶的需求分析。我們的新聞發(fā)布系統(tǒng)業(yè)不例外。新聞發(fā)布系統(tǒng)的主要目的就是管理用戶通過管理操作(如發(fā)布和修改新聞)讓可以瀏覽器網(wǎng)站的用戶看到相關的新聞信息。從這一點出發(fā),我們就不難得出本系統(tǒng)主要面對的是兩大類用戶:管理用戶(新聞發(fā)布與管理用戶)和瀏覽者。9.1系統(tǒng)分析管理用戶對新聞的管理應該主要包括新聞模塊的添加與管理、新聞內容的添加與管理,而且管理用戶的操作界面不是所有的用戶都可以進的,也就是說必須有管理權限的用戶才能進入。我們一般稱管理用戶進入管理的平臺為后臺。瀏覽者的權限就是瀏覽管理用戶發(fā)布的新聞內容,并可以進行檢索以方便地找到自己想要看到的內容。我們一般稱瀏覽者瀏覽或查閱信息的平臺為前臺。9.2實施步驟9.2.1系統(tǒng)功能設計后臺(管理用戶功能):新聞模塊添加、新聞模塊修改、新聞添加、新聞修改、密碼更改。前臺(瀏覽用戶功能):瀏覽模塊、瀏覽新聞、檢索新聞。系統(tǒng)功能可以用圖示表示如圖9-1。9.2實施步驟9.2.1系統(tǒng)功能設計9.2實施步驟9.2.2數(shù)據(jù)庫與表設計本新聞發(fā)布系統(tǒng)的數(shù)據(jù)庫名為“news_manage”,共含3個數(shù)據(jù)表,這3個數(shù)據(jù)表之間的關系簡單描述如圖9-2。9.2實施步驟9.2實施步驟其詳細的字段設計如下:一、manage_user_info(管理用戶信息數(shù)據(jù)表)

9.2實施步驟二、module_info(模塊信息數(shù)據(jù)表)9.2實施步驟三、news_info(新聞信息數(shù)據(jù)表)9.2實施步驟9.2.3文件結構設計(詳見教材)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實施步驟有關代碼的具體實現(xiàn)其實是沒有原則上的先后關系,我們這里為了能夠較為清楚和方便地說明本系統(tǒng)的開發(fā)過程,我們按照圖9-3的流程進行開發(fā)和講解:

9.2實施步驟下面我們就一步一步地來實現(xiàn)。

1)用戶登錄頁此處我們借用第8章中的land.html的相關代碼。具體代碼見step1文件夾中的lgoin.php。該文件中的PHP代碼的程序流程圖如圖9-4。(參見教材)9.2實施步驟2)后臺管理頁后臺登陸頁,也就是后臺管理的首頁,詳細代碼見manage文件夾下的index.php,其流程圖如圖9-5。3)新聞模塊添加頁新聞模塊添加頁具體代碼見manage文件夾下的module_add.php,其程序流程圖為圖9-6。9.2實施步驟4)新聞模塊修改頁新聞模塊修改頁所顯示的就是所有已經(jīng)添加的新聞模塊的列表,詳細代碼見manage文件夾下的module_list.php,這個頁面是比較簡單的,就是從數(shù)據(jù)庫中讀出所有已添加的新聞模塊信息,并以分頁的形式給出列表。在這個列表有對任一新聞模塊“刪除”和“修改”的鏈接,當我們點擊“刪除”鏈接時就會刪除其對應的新聞模塊信息,當我們點擊“修改”時就會進入新聞模塊修改頁,詳細代碼見manage文件夾下的module_bj.php,其程序流程圖見圖9-7。9.2實施步驟5)新聞添加頁新聞模塊添加頁具體代碼見manage文件加下的news_add.php,其程序流程圖為圖9-8。值得注意的是,在添加新聞時需要選擇添加到那個新聞模塊,我們這里是使用下拉菜單實現(xià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)輸出下拉表單項,表單項的內容為5、6行從數(shù)據(jù)庫中讀出的數(shù)據(jù)。9.2實施步驟6)新聞修改頁新聞修改頁所顯示的就是所有已經(jīng)添加的新聞的列表,詳細代碼見manage文件夾下的news_list.php,這個頁面是比較簡單的,就是從數(shù)據(jù)庫中讀出所有已添加的新聞模塊信息,并以分頁的形式給出列表。因為在有些時候我們只想查看某個模塊內的所有新聞,所以我們在本頁的頂部給出了不同模塊的鏈接,點擊不同的模塊鏈接,其下所顯示的新聞列表就是該模塊內的所有新聞,并以分頁的形式列出。在這個列表有對任一新聞都有“刪除”和“修改”的鏈接,當我們點擊“刪除”鏈接時就會刪除其對應的新聞信息,當我們點擊“修改”時就會進入新聞模塊修改頁,詳細代碼見manage文件夾下的news_bj.php,其程序流程見圖9-9。9.2實施步驟7)密碼修改頁密碼修改頁具體代碼見manage文件加下的key_xg.php,其程序流程圖為圖9-10。8)安全退出其程序的詳細代碼如下:

1:<?php 2:$_SESSION["manage_name"]=""; 3:header("location:../login.php");4:?>截止到現(xiàn)在我們已經(jīng)把后臺管理程序制作完畢,下面我們就要來制作前臺顯示頁面。9.2實施步驟9)用戶瀏覽首頁用戶瀏覽首頁也是瀏覽用戶進入本站的第一頁,本頁中需要給出的是所有的新聞某塊和每個模塊中的最新添加的若干新聞。實現(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的所有記錄,并采用分頁的形式輸出。就每一條新聞顯示其標題、瀏覽次數(shù)、添加時間信息,我們點擊標題,就可以進入“新聞內容頁”。11)新聞內容頁9.2實施步驟本頁顯示具體某條新聞的具體信息,如標題、瀏覽次數(shù)、添加時間、新聞具體內容等。本頁實現(xiàn)的具體方法是接收傳遞到本頁的news_id,更新news_info數(shù)據(jù)表中id等于news_id的紀錄的times為times+1,再從news_info數(shù)據(jù)表中查詢出id等于news_id的記錄并輸出其標題、瀏覽次數(shù)、添加時間、具體內容等信息。12)新聞檢索頁本頁顯示符合傳遞到本頁的檢索關鍵字、檢索范圍的所有記錄的列表。其實現(xiàn)的具體方法是,接收傳遞到本的檢索關鍵字key和檢索范圍module_id,根據(jù)key和module_id的值構造SQL語句,再執(zhí)行SQL語句,從news_info數(shù)據(jù)表中查詢出相關的記錄,以列表的形式輸出,輸出的方式和莫模塊新聞列表頁的方式一樣。9.2.5運行測試(參見教材)9.3系統(tǒng)優(yōu)化1、文件結構的優(yōu)化。

2、數(shù)據(jù)庫服務器連接類庫文件的編寫對于多次復用的代碼,我們也編寫了一個類庫文件myfun.php,這個類庫中包含的就是我們自己定義的一些函數(shù)。

9.4本章小結本章中我們通過一個多模塊新聞發(fā)布系統(tǒng)的開發(fā)實例,詳細介紹了PHP+MYSQL數(shù)據(jù)庫開發(fā)的基本過程和基本思路。為了方便大家理解系統(tǒng)的開發(fā)過程,我們通過初步程序開發(fā)、代碼優(yōu)化、界面美化三個步驟由簡到繁、逐步細化最終實現(xiàn)我們想要的效果。讀者通過本章的學習,應當深入領會PHP+MYSQL編程的基本思路,掌握數(shù)據(jù)庫編程中常見問題的解決方

溫馨提示

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

評論

0/150

提交評論