Smarty分页实现方法完整实例

这篇文章主要介绍了Smarty分页实现方法,涉及基于Smarty的数据库查询、分页相关计算与模板操作技巧,需要的朋友可以参考下。

本文实例讲述了Smarty分页实现方法,分享给大家供大家参考,具体如下:

首先是PHP文件部分:

  1. <?php
  2. require("include.php"); //包含smarty配置部分
  3. require 'conn.php'; //包含数据库配置部分
  4. $pagesize=10; //设置每页数据显示数量
  5. $url=$_SERVER['REQUEST_URI'];
  6. $url=parse_url($url);
  7. $url=$url['path'];
  8. $sql="SELECT * FROM `wp_links`";
  9. $db_list=mysql_query($sql);
  10. $num=mysql_num_rows($db_list); //统计数据总数
  11. $pages=$num/$pagesize;
  12. $pages=ceil($pages); //求出一共需要多少页进行显示
  13. if ($_GET['page']){
  14. $pageval=$_GET['page'];
  15. $page=($pageval-1)*$pagesize;
  16. }
  17. if($num>$pagesize){
  18. if (!isset($pageval)) $pageval=1;
  19. }
  20. if ($pages==1){ //如果总页面只有一页的话,将“上一页”“下一页”的标签替换为空。
  21. $pageup="";
  22. $pagedown="";
  23. }else{
  24. switch($pageval){
  25. case 1 :{
  26. $pageup="首页";
  27. $pagedown="<a href=$url?page=".($pageval+1).">下一页</a>";
  28. break;
  29. }
  30. default :{
  31. $pageup="<a href=$url?page=".($pageval-1).">上一页</a>";
  32. $pagedown="<a href=$url?page=".($pageval+1).">下一页</a>";
  33. break;
  34. }
  35. case $pages :{
  36. $pageup="<a href=$url?page=".($pageval-1).">上一页</a>";
  37. $pagedown="末页";
  38. break;
  39. }
  40. }
  41. }$smarty->assign("pageconfig",$pageconfig);
  42. //==================================================
  43. $sql_list="SELECT * FROM `wp_links` LIMIT $page,$pagesize"; //由此控制数据显示数量部分
  44. $db_list_list=mysql_query($sql_list);
  45. while($row=mysql_fetch_array($db_list_list)){
  46. $page_list[]=array("id"=>$row['link_id'],"url"=>$row['link_url'],"name"=>$row['link_name']); //将数据库中查询内容重新赋值
  47. }
  48. $pageconfig="当前第 $pageval 页,共 $pages 页";
  49. $smarty->assign("pageconfig",$pageconfig);
  50. $smarty->assign("pageup",$pageup);
  51. $smarty->assign("pagedown",$pagedown);
  52. $smarty->assign("title",$page_list);
  53. $smarty->display("index.htm");
  54. ?>

下面为模板的编写部分:

  1. <table>
  2. <tr>
  3. <td>id</td>
  4. <td>url</td>
  5. <td>name</td>
  6. </tr>
  7. {section name=list loop=$title}
  8. <tr>
  9. <td>{$title[list].id}</td>
  10. <td>{$title[list].url}</td>
  11. <td>{$title[list].name}</td>
  12. </tr>
  13. {/section}
  14. </table>
  15. {$pageup}{$pagedown}{$pageconfig}