《PHP》課件5-2 查看新聞詳細(xì)信息頁(yè)面設(shè)計(jì)_第1頁(yè)
《PHP》課件5-2 查看新聞詳細(xì)信息頁(yè)面設(shè)計(jì)_第2頁(yè)
《PHP》課件5-2 查看新聞詳細(xì)信息頁(yè)面設(shè)計(jì)_第3頁(yè)
《PHP》課件5-2 查看新聞詳細(xì)信息頁(yè)面設(shè)計(jì)_第4頁(yè)
《PHP》課件5-2 查看新聞詳細(xì)信息頁(yè)面設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本節(jié)主要內(nèi)容新聞表數(shù)據(jù)訪問(wèn)層的設(shè)計(jì)與實(shí)現(xiàn)新聞列表頁(yè)面的設(shè)計(jì)與實(shí)現(xiàn)新聞查看頁(yè)面的設(shè)計(jì)與實(shí)現(xiàn)新聞數(shù)據(jù)表訪問(wèn)層的設(shè)計(jì)與實(shí)現(xiàn)news.dao.phptbl_news新聞表news.dao.phpcommon.php新聞數(shù)據(jù)表對(duì)象名類(lèi)型代碼描述備注新聞實(shí)體News新聞

新聞編號(hào)屬性newsId新聞編號(hào)int主鍵新聞標(biāo)題屬性Title新聞標(biāo)題varchar(100)新聞內(nèi)容屬性Content新聞內(nèi)容Text發(fā)布時(shí)間屬性publishTime發(fā)布時(shí)間DateTime用戶編號(hào)屬性u(píng)Id發(fā)布用戶編號(hào)int外鍵類(lèi)別編號(hào)屬性classId所屬新聞?lì)悇e編號(hào)int外鍵置頂屬性isTop強(qiáng)制置頂標(biāo)志int,默認(rèn)值=0。1代表置頂,0代表不置頂。熱點(diǎn)屬性Ishot強(qiáng)制熱點(diǎn)標(biāo)志int,默認(rèn)值=0。1代表置熱點(diǎn),0代表沒(méi)有熱點(diǎn)。點(diǎn)贊量屬性likeCount新聞點(diǎn)贊計(jì)數(shù)int訪問(wèn)量屬性viewCount新聞訪問(wèn)量int新聞表業(yè)務(wù)邏輯操作程序函數(shù)清單序號(hào)函數(shù)描述1addNews($title,$content,$uid,$classid)添加新聞,參數(shù)$title為新聞標(biāo)題,$content為新聞內(nèi)容,$uid為新聞作者的用戶編號(hào),$classid為新聞的分類(lèi)編號(hào)2updateNews($newsid,$title,$content,$uid,$classid)修改新聞信息,參數(shù)與新增新聞?lì)愃疲?newsid為新聞編號(hào)3updateTopNews($newsid)編輯置頂新聞,$newsid為新聞編號(hào)4updateHotNews($newsid)編輯熱點(diǎn)新聞,$newsid為新聞編號(hào)5updateLikeCount($newsid)編輯新聞點(diǎn)贊計(jì)數(shù)+16updateViewCount($newsid)編輯新聞訪問(wèn)量計(jì)數(shù)+17deleteNews($newsid)刪除新聞,$newsid為新聞編號(hào)8findNews()查詢(xún)所有的新聞信息9findNewsByClassid($classid)根據(jù)新聞?lì)悇e編號(hào)查詢(xún)新聞信息10findNewsById($newsid)根據(jù)新聞編號(hào)查詢(xún)新聞信息11findNewsByName($keyword,$search_field="all")根據(jù)關(guān)鍵字段及關(guān)鍵詞模糊查詢(xún)新聞,$search_field不設(shè)置默認(rèn)為按照所有字段模糊查詢(xún)12findHotNews($countlimit=0)查詢(xún)熱點(diǎn)新聞,$countlimit默認(rèn)值為0表示顯示所有熱點(diǎn)新聞,否則顯示指定$countlimit條新聞13findTopNews($countlimit=0)查詢(xún)置頂(推薦)新聞,$countlimit默認(rèn)值為0表示顯示所有置頂新聞,否則顯示指定$countlimit條新聞14findNewsByUid($uid)根據(jù)用戶編號(hào)查詢(xún)新聞信息15cancelTopNews($newsid)取消新聞置頂,根據(jù)新聞編號(hào)取消新聞置頂16cancelHotNews($newsid)取消熱點(diǎn)新聞,根據(jù)新聞編號(hào)取消熱點(diǎn)新聞addNews()方法require_once'common.php';//添加新聞functionaddNews($title,$content,$uid,$classid){ $link=get_connect(); $title=mysql_dataCheck($title); $content=mysql_dataCheck($content); $format="%Y-%m-%d%H:%M:%S";//設(shè)置時(shí)間格式 $publishtime=strftime($format);//獲取系統(tǒng)時(shí)間

$sql="insertinto`tbl_news`(`title`,`content`,`uid`,`classid`,`publishtime`)values('$title','$content',$uid,$classid,'$publishtime')"; $rs=execUpdate($sql,$link); return$rs;}updateNews()和updateTopNews()方法//編輯新聞functionupdateNews($newsid,$title,$content,$uid,$classid){$link=get_connect();$title=mysql_dataCheck($title);$content=mysql_dataCheck($content);

$sql="update`tbl_news`set`title`='$title',`content`='$content',`uid`=$uid,`classid`=$classidwhere`newsid`=$newsid";

$rs=execUpdate($sql,$link);return$rs;}//置頂新聞,根據(jù)新聞編號(hào)置頂新聞functionupdateTopNews($newsid){$link=get_connect();

$sql="update`tbl_news`set`istop`=1where`newsid`=$newsid";$rs=execUpdate($sql,$link);return$rs; }updateHotNews()和updateLikeCount()方法//置熱點(diǎn)新聞,根據(jù)新聞編號(hào)置熱點(diǎn)新聞functionupdateHotNews($newsid){$link=get_connect();$sql="update`tbl_news`set`ishot`=1where`newsid`=$newsid";$rs=execUpdate($sql,$link);return$rs; }//根據(jù)新聞編號(hào)修改點(diǎn)贊計(jì)數(shù)functionupdateLikeCount($newsid){$link=get_connect();

$sql="update`tbl_news`set`likecount`=`likecount`+1where`newsid`=$newsid";$rs=execUpdate($sql,$link);return$rs; }updateViewCount()和deleteNews()方法//根據(jù)新聞編號(hào)修改訪問(wèn)量計(jì)數(shù)functionupdateViewCount($newsid){$link=get_connect();

$sql="update`tbl_news`set`viewcount`=`viewcount`+1where`newsid`=$newsid";$rs=execUpdate($sql,$link);return$rs; }//刪除新聞functiondeleteNews($newsid){

$sql="deletefrom`tbl_news`where`newsid`=$newsid";

$link=get_connect();

$rs=execUpdate($sql,$link);return$rs;}findNews()和findNewsByClassid()方法//按照發(fā)布時(shí)間倒序查詢(xún)所有新聞信息functionfindNews(){$sql="select*from`tbl_news`orderby`publishtime`desc";$link=get_connect();$rs=execQuery($sql,$link);return$rs;}//根據(jù)新聞?lì)悇e顯示相應(yīng)類(lèi)別新聞functionfindNewsByClassid($classid){

$sql="select*from`tbl_news`where`classid`=$classidorderby`publishtime`desc";$link=get_connect();$rs=execQuery($sql,$link);return$rs;}findNewsById()和findNewsByName()方法//根據(jù)編號(hào)查找新聞functionfindNewsById($newsid){

$sql="select*from`tbl_news`where`newsid`=$newsid";$link=get_connect();$rs=execQuery($sql,$link);if(count($rs)>0){return$rs[0];}return$rs;}functionfindNewsByName($keyword,$search_field="all"){if($search_field=="all"){

$sql="select*from`tbl_news`where`title`like'%$keyword%'or`content`like'%$keyword%'orderby`publishtime`desc";}else{

$sql="select*from`tbl_news`where`$search_field`like'%$keyword%'orderby`publishtime`desc";}$link=get_connect();$rs=execQuery($sql,$link);return$rs;}findHotNews()和findTopNews()方法//顯示熱點(diǎn)新聞若缺省參數(shù),則顯示所有的熱點(diǎn)新聞,否則顯示指定條數(shù)的熱點(diǎn)新聞functionfindHotNews($countlimit=0){ $sql="select*from`tbl_news`where`ishot`=1";if($countlimit!=0){

$sql=$sql."limit$countlimit";}$link=get_connect();$rs=execQuery($sql,$link);return$rs;}//顯示置頂新聞若缺省參數(shù),則顯示所有的推薦新聞,否則顯示指定條數(shù)的置頂新聞functionfindTopNews($countlimit=0){

$sql="select*from`tbl_news`where`istop`=1";

if($countlimit!=0){

$sql=$sql."limit$countlimit";}$link=get_connect();$rs=execQuery($sql,$link);return$rs;}findNewsByUid(),cancelTopNews()和cancelHotNews()方法//根據(jù)用戶編號(hào)查找新聞functionfindNewsByUid($uid){

$sql="select*from`tbl_news`where`uid`=$uid";$link=get_connect();$rs=execQuery($sql,$link);return$rs;}//取消新聞置頂,根據(jù)新聞編號(hào)取消新聞置頂functioncancelTopNews($newsid){$link=get_connect();

$sql="update`tbl_news`set`istop`=0where`newsid`=$newsid";$rs=execUpdate($sql,$link);return$rs; }//取消熱點(diǎn)新聞,根據(jù)新聞編號(hào)取消熱點(diǎn)新聞functioncancelHotNews($newsid){$link=get_connect();

$sql="update`tbl_news`set`ishot`=0where`newsid`=$newsid";$rs=execUpdate($sql,$link);return$rs; }新聞列表信息頁(yè)面的實(shí)現(xiàn)設(shè)計(jì)思路若直接進(jìn)入該頁(yè)面,可以使用新聞表數(shù)據(jù)訪問(wèn)層中findNews()函數(shù)獲取所有的新聞信息。若從導(dǎo)航欄跳轉(zhuǎn)過(guò)來(lái),則首先需要獲取新聞分類(lèi)的編號(hào),再使用findNewsByClassid()函數(shù)獲取指定分類(lèi)的所有新聞。最后根據(jù)網(wǎng)頁(yè)布局技術(shù)將新聞信息顯示在頁(yè)面上。mb_substr()函數(shù)mb_substr(內(nèi)容,開(kāi)始位置,截取長(zhǎng)度,字符集)函數(shù)截取指定長(zhǎng)度的中文和英文,它是根據(jù)字符數(shù)執(zhí)行一個(gè)多字節(jié)安全的substr()操作echomb_substr("我愛(ài)php",1,3,'utf-8').'<br>';echosubstr("我愛(ài)php",1,3);htmlspecialchars_decode()函數(shù)htmlspecialchars_decode()函數(shù)將特殊的HTML實(shí)體轉(zhuǎn)換回普通字符。新聞內(nèi)容添加的時(shí)候使用第三方編輯控件允許對(duì)新聞格式進(jìn)行編輯,新聞內(nèi)容中包含一些特殊的HTML實(shí)體來(lái)實(shí)現(xiàn)新聞格式的保存。為了在網(wǎng)頁(yè)上重現(xiàn)新聞編輯后的效果,需要將這些特殊字符解碼后在網(wǎng)頁(yè)上顯示。新聞列表頁(yè)面newslist.php<?php

require_once('common/news.dao.php');require_once('common/checkFormlib.php');if(isset($_GET['classid'])){

$classid=test_input($_GET['classid']);$newslist=findNewsByClassid($classid);

}else{

$newslist=findNews();}?><ul>

<?phpforeach($newslistas$row){?>

<li><spanclass="news_title"><ahref="newsdetail.php?newsid=<?phpecho$row['newsid'];?>"><?phpecho$row['title'];?></a></span> <pclass="news_content">

<?php

$content=htmlspecialchars_decode(mb_substr(trim($row['content']),0,150,'utf-8')).'…………';

echo$content;

?></p>

<pclass="news_show"><ahref="newsdetail.php?newsid=<?phpecho$row['newsid'];?>">點(diǎn)擊查看全文>></a></p>

<p>發(fā)表時(shí)間:<spanclass="news_label"><?phpecho$row['publishtime'];?></span>

作者:<spanclass="news_label"><?php

require_once'common/user.dao.php'; $author=findUserById($row['uid']); if(!empty($author)){ echo$author['uname'];} ?></span></p></li> <?php}?> </ul>Web開(kāi)發(fā)中的頁(yè)面跳轉(zhuǎn)及關(guān)鍵字傳遞頁(yè)面跳轉(zhuǎn)方式使用超鏈接標(biāo)記跳轉(zhuǎn)使用系統(tǒng)函數(shù)header(“l(fā)ocation:跳轉(zhuǎn)頁(yè)面地址”)跳轉(zhuǎn)頁(yè)面跳轉(zhuǎn)的信息傳遞:HTTP是一個(gè)無(wú)狀態(tài)的協(xié)議,因此在頁(yè)面跳轉(zhuǎn)的同時(shí)還需要考慮如何在兩個(gè)頁(yè)面?zhèn)鬟f參數(shù)。通過(guò)頁(yè)面跳轉(zhuǎn)時(shí)攜帶參數(shù)傳值,使用“?”將參數(shù)值以get方式通過(guò)URL傳遞到目標(biāo)地址。表單提交Session會(huì)話Cookie新聞查看頁(yè)面newsdetail.php的實(shí)現(xiàn)設(shè)計(jì)思路新聞查看頁(yè)面首先判斷從$_GET變量中是否接收到$_GET["newsid"]若接收到則調(diào)用findNewsById()函數(shù)獲取相應(yīng)編號(hào)的新聞的詳細(xì)信息,否則自動(dòng)跳轉(zhuǎn)到新聞列表網(wǎng)頁(yè)(newslist.php)。新聞查看頁(yè)面newsdetail.php<?phprequire_once'common/news.dao.php';require_once'common/newsclass.dao.php';require_once'common/user.dao.php';

if(

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論