网站制作怎样解决留言系统分页显示?
网站制作关于留言显示主要技术难度就是分页显示问题。分页查看留言是指将留言信息按查询结果分页显示,版主信息回显是针对该留言信息版主做出的回复。深圳网站制作公司认为当用户从数据库中查询出的留言信息较多时,如果用一个页面来显示所有的记录,不仅运行速度较慢,也会给用户浏览带来诸多不便。这时就可以通过对查询结果进行分页显示来解决这一问题。分页查看留言信息及版主信息回显页面的运行结果如图22.15所示。
在检索留言信息时,应用了左外联接技术(leftjoin...on)将两个表或多个表连接起来,返回部分或全部匹配行。左外联接基本用法如下:
参数leftouterjoin表示表之间通过左连接方式相互连接,也可以简写成leftjoin,参数onjoin_condition指多表建立连接所使用的连接条件。参数wheresearchcondition是可选项,用于设置查询条件。
深圳网站制作公司提示:外联接分为左外联接和右外联接,除了上面介绍的左外联接外,还有一个右外联接rightouterjoin,右外联接返回的查询结果包含左表中的所有符合连接条件以及右表中所有满足查询条件的行。分页查看留言信息,不但可以减少页面纵向延伸的面积,同时也不会影响网站的运行速度。下面讲解分页查看留言的实现过程,版主信息回显功能的实现方法穿插在分页中进行讲解(index.php)。
【操作步骤】
第1步,调用数据源文件。require("global.php");
第2步,应用左外联接实现多表联合查询巧妙地构造SQL语句,检索留言信息表和回复信息表中的数据,并按签写留言的时间降序排列。联合查询构造的SQL语句如下:$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,即每页显示的记录数,这里设置为每页显示3条留言信息。也可以根据页面的实际情况由设计者自己规定。根据公式“总记录数/跨度”,如果有余数则进位取整来计算总页数$pagecount。获取传递的当前页数$page_num,通过三目运算符计算判断第一页或者是最后一页的位置。最后为SQL语句添加limit子句,计算查询的起始行位置,并执行SQL语句,将结果集存储到数组中。
第4步,通过for循环语句分页显示查询结果。代码如下:
<?phpfor($i=0;$i<$rows_count;$i++){$title=$res[$i]['note_title'];//标题$author=$res[$i]['note_user'];//作者$note_content=$res[$i]['note_content'];//内容$mood=$res[$i]['note_mood'];//心情$datetime=$res[$i]['note_time'];//时间$note_pic=$res[$i]['note_user_pic'];//头像$id=$res[$i]['note_id'];//当前行note_id$note_flag=$res[$i]['note_flag'];//是否是版主悄悄话$note_answer=$res[$i]['note_answer'];//显示版主是否回复标识//版主回复的留言信息$noan_content=$res[$i]['noan_content'];$noan_time=$res[$i]['noan_time'];?>第5步,输出留言人、留言头像和留言时间。
代码如下:<?phpecho"<fontcolor=#205401>".$author."</font>";?><imgsrc="images/face/pic/<?phpecho$note_pic;?>"width="90"height="90"><?phpecho$datetime;?>
第6步,留言心情的实现过程如下:第7步,本模块中的前台首页留言信息显示区,通过嵌入在留言信息中的特殊方式显示版主回复的信息,如图22.15所示。版主信息回显的实现方法如下:
第8步,留言信息分页汇总。代码如下:
第9步,输出分页控制链接,实现“第一页”、“上一页”、“下一页”和“最后一页”的链接指向,并进行页码参数传递。代码如下:
第10步,查看全部留言信息。单击【全部留言】超链接,传递变量id=-1到处理页user_note_read.php,注意,这里传递给id的值是-1。<ahref="./user_note_read.php?id=-1"target="_blank"><spanclass="style2">全部留言</span></a>
当id的值等于-1时,执行下面的SQL语句,没有where条件进行限制,检索全部的留言信息和版主回复信息(user_note_read.php)。好了,网站制作公司本文关于“网站制作怎样解决留言系统分页显示?”解决方案步骤就分享到这里,谢谢关注,博纳网络编辑整理。