我們在留言板的設計中,遇到的最大問題就是如何讓留言板具有翻頁功能,而且可以自動判斷是否到了最後一頁,下面我就將我在設計留言板時用到的技術與大家分享:
首先連接數據庫,這裡就不講了,下面就將每一條語句作詳細的說明。
<?
.
.
.
$query="select * from note order by sendtime desc"; #按時間將留言排序
$total=mysql_numrows($result);#計算總共有多少條留言
for ($i=0; $i<$total; $i++) #將每一條留言內容賦值到一個函數中
{
$show[$i]=mysql_result($result,$i,"留言內容");#這樣第一條留言就在$show[0]中,第二條則在$show[1]中...
}
if(!$page){$page=0;} #給頁數賦值,如果已經賦過,則不動,這是唯一後再次調用此頁十設計的
$eachpage=任意數; #希望沒頁顯示的留言數
$start=$page*$eachpage;#此處是每頁顯示的第一條語句在數據庫中的行數,比如用戶翻到第二頁,則改頁第一條語句在數據庫中的行數為$page*$eachpage,即"1*每頁顯示的留言數"
$end=$start+$eachpage;#此處為改頁的最後一行在數據庫中的行數
if($end>$total) {$end=$total;}#如果翻到了最後一頁,則最後一行往往不是"$start+$eachpage",而是數據庫中的最後一行
$totalpage=ceil($total/$eachpage);#這是一條計算頁數的語句,ceil()是取整函數
?>
.
.
.
<?
for($i=$start;$i<$end;$i++){#下面到了真正開始顯示內容的時候了,從改頁的第一行循環到改頁最後一行
echo '<td width="450" valign="top" align="left"><font face="楷體_GB2312" color="#000066">';#將留言放在表中,這樣會比較好看,而且可以任意添加裝飾
echo $show[$i][content];#顯示相應留言的內容
echo '</font></td>';
}
if($page>0){$pagenow=$page-1;?>#將$pagenow設置成比$page小1,是為了當用戶點擊"上一頁"時去到比當前頁數小1的頁,因為"第1頁"的$page為0,所以只有當$page大於0時才會顯示"上一頁"鏈接
<a href=<?echo "'留言板.php?qqname=$qqname&serial=$serial&page=$pagenow'";?>>上一頁</a> #顯示"上一頁"的鏈接,並傳遞數值,當再次調用"留言板.php"時,$page值將是本頁中$pagenow的值
<?}
if($end!=$total){$pagenow=$page+1;?>#將$pagenow設置成比$page大1,只要"$end"不等於"$total",就說明當前頁還不是最後一頁,即顯示"下一頁"鏈接
<a href=<?echo "'留言板.php?qqname=$qqname&serial=$serial&page=$pagenow'";?>>下一頁</a> #顯示"上一頁"的鏈接,並傳遞數值
<?}?>#程序結束
以上為翻頁的解決辦法,你可以根據自己的愛好加一些圖片之類的,那樣你的留言板就會更更加漂亮!