我们在留言板的设计中, 遇到的最大问题就是如何让留言板具有翻页功能, 而且可以自动判断是否到了最后一页, 下面我就将我在设计留言板时用到的技术与大家分享:
首先连接数据库, 这里就不讲了, 下面就将每一条语句作详细的说明
- ...$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 '';# 将留言放在表中, 这样会比较好看, 而且可以任意添加装饰
- echo $show[$i][content];# 显示相应留言的内容
- echo '';
- }
- if($page>0){$pagenow=$page-1;?># 将 $pagenow 设置成比 $page 小 1, 是为了当用户点击 "上一页" 时去到比当前页数小 1 的页, 因为 "第 1 页" 的 $page 为 0, 所以只有当 $page 大于 0 时才会显示 "上一页" 链接 > 上一页 #显示 "上一页" 的链接, 并传递数值, 当再次调用 "留言板. php" 时,$page 值将是本页中 $pagenow 的值
- if($end!=$total){$pagenow=$page+1;?># 将 $pagenow 设置成比 $page 大 1, 只要 "$end" 不等于 "$total", 就说明当前页还不是最后一页, 即显示 "下一页" 链接 > 下一页 #显示 "上一页" 的链接, 并传递数值
- # 程序结束
以上为翻页的解决办法, 你可以根据自己的爱好加一些图片之类的, 那样你的留言板就会更更加漂亮!
来源: https://www.php1.cn/detail/php-6fc5a7d412.html