網(wǎng)站制作怎樣解決留言系統(tǒng)分頁(yè)顯示?
網(wǎng)站制作關(guān)于留言顯示主要技術(shù)難度就是分頁(yè)顯示問(wèn)題。分頁(yè)查看留言是指將留言信息按查詢結(jié)果分頁(yè)顯示,版主信息回顯是針對(duì)該留言信息版主做出的回復(fù)。深圳網(wǎng)站制作公司認(rèn)為當(dāng)用戶從數(shù)據(jù)庫(kù)中查詢出的留言信息較多時(shí),如果用一個(gè)頁(yè)面來(lái)顯示所有的記錄,不僅運(yùn)行速度較慢,也會(huì)給用戶瀏覽帶來(lái)諸多不便。這時(shí)就可以通過(guò)對(duì)查詢結(jié)果進(jìn)行分頁(yè)顯示來(lái)解決這一問(wèn)題。分頁(yè)查看留言信息及版主信息回顯頁(yè)面的運(yùn)行結(jié)果如圖22.15所示。
在檢索留言信息時(shí),應(yīng)用了左外聯(lián)接技術(shù)(leftjoin...on)將兩個(gè)表或多個(gè)表連接起來(lái),返回部分或全部匹配行。左外聯(lián)接基本用法如下:
參數(shù)leftouterjoin表示表之間通過(guò)左連接方式相互連接,也可以簡(jiǎn)寫成leftjoin,參數(shù)onjoin_condition指多表建立連接所使用的連接條件。參數(shù)wheresearchcondition是可選項(xiàng),用于設(shè)置查詢條件。
深圳網(wǎng)站制作公司提示:外聯(lián)接分為左外聯(lián)接和右外聯(lián)接,除了上面介紹的左外聯(lián)接外,還有一個(gè)右外聯(lián)接rightouterjoin,右外聯(lián)接返回的查詢結(jié)果包含左表中的所有符合連接條件以及右表中所有滿足查詢條件的行。分頁(yè)查看留言信息,不但可以減少頁(yè)面縱向延伸的面積,同時(shí)也不會(huì)影響網(wǎng)站的運(yùn)行速度。下面講解分頁(yè)查看留言的實(shí)現(xiàn)過(guò)程,版主信息回顯功能的實(shí)現(xiàn)方法穿插在分頁(yè)中進(jìn)行講解(index.php)。
【操作步驟】
第1步,調(diào)用數(shù)據(jù)源文件。require("global.php");
第2步,應(yīng)用左外聯(lián)接實(shí)現(xiàn)多表聯(lián)合查詢巧妙地構(gòu)造SQL語(yǔ)句,檢索留言信息表和回復(fù)信息表中的數(shù)據(jù),并按簽寫留言的時(shí)間降序排列。聯(lián)合查詢構(gòu)造的SQL語(yǔ)句如下:$sql="selecttb_note.*,answ.*fromtb_noteleftjoin";$sql.="(selectnoan_note_id,noan_content,noan_timefromtb_note_answer)asansw";
$sql.="onansw.noan_note_id=tb_note.note_id";$sql.="orderbynote_timedesc";第3步,確定記錄跨度$row_per_page,即每頁(yè)顯示的記錄數(shù),這里設(shè)置為每頁(yè)顯示3條留言信息。也可以根據(jù)頁(yè)面的實(shí)際情況由設(shè)計(jì)者自己規(guī)定。根據(jù)公式“總記錄數(shù)/跨度”,如果有余數(shù)則進(jìn)位取整來(lái)計(jì)算總頁(yè)數(shù)$pagecount。獲取傳遞的當(dāng)前頁(yè)數(shù)$page_num,通過(guò)三目運(yùn)算符計(jì)算判斷第一頁(yè)或者是最后一頁(yè)的位置。最后為SQL語(yǔ)句添加limit子句,計(jì)算查詢的起始行位置,并執(zhí)行SQL語(yǔ)句,將結(jié)果集存儲(chǔ)到數(shù)組中。
第4步,通過(guò)for循環(huán)語(yǔ)句分頁(yè)顯示查詢結(jié)果。代碼如下:
<?phpfor($i=0;$i<$rows_count;$i++){$title=$res[$i]['note_title'];//標(biāo)題$author=$res[$i]['note_user'];//作者$note_content=$res[$i]['note_content'];//內(nèi)容$mood=$res[$i]['note_mood'];//心情$datetime=$res[$i]['note_time'];//時(shí)間$note_pic=$res[$i]['note_user_pic'];//頭像$id=$res[$i]['note_id'];//當(dāng)前行note_id$note_flag=$res[$i]['note_flag'];//是否是版主悄悄話$note_answer=$res[$i]['note_answer'];//顯示版主是否回復(fù)標(biāo)識(shí)//版主回復(fù)的留言信息$noan_content=$res[$i]['noan_content'];$noan_time=$res[$i]['noan_time'];?>第5步,輸出留言人、留言頭像和留言時(shí)間。
代碼如下:<?phpecho"<fontcolor=#205401>".$author."</font>";?><imgsrc="images/face/pic/<?phpecho$note_pic;?>"width="90"height="90"><?phpecho$datetime;?>
第6步,留言心情的實(shí)現(xiàn)過(guò)程如下:第7步,本模塊中的前臺(tái)首頁(yè)留言信息顯示區(qū),通過(guò)嵌入在留言信息中的特殊方式顯示版主回復(fù)的信息,如圖22.15所示。版主信息回顯的實(shí)現(xiàn)方法如下:
第8步,留言信息分頁(yè)匯總。代碼如下:
第9步,輸出分頁(yè)控制鏈接,實(shí)現(xiàn)“第一頁(yè)”、“上一頁(yè)”、“下一頁(yè)”和“最后一頁(yè)”的鏈接指向,并進(jìn)行頁(yè)碼參數(shù)傳遞。代碼如下:
第10步,查看全部留言信息。單擊【全部留言】超鏈接,傳遞變量id=-1到處理頁(yè)user_note_read.php,注意,這里傳遞給id的值是-1。<ahref="./user_note_read.php?id=-1"target="_blank"><spanclass="style2">全部留言</span></a>
當(dāng)id的值等于-1時(shí),執(zhí)行下面的SQL語(yǔ)句,沒(méi)有where條件進(jìn)行限制,檢索全部的留言信息和版主回復(fù)信息(user_note_read.php)。好了,網(wǎng)站制作公司本文關(guān)于“網(wǎng)站制作怎樣解決留言系統(tǒng)分頁(yè)顯示?”解決方案步驟就分享到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。