时间:2021-07-01 10:21:17 帮助过:10人阅读
本文实例讲述了Smarty分页实现方法。分享给大家供大家参考,具体如下:
首先是PHP文件部分:
<?php require("include.php"); //包含smarty配置部分 require 'conn.php'; //包含数据库配置部分 $pagesize=10; //设置每页数据显示数量 $url=$_SERVER['REQUEST_URI']; $url=parse_url($url); $url=$url['path']; $sql="SELECT * FROM `wp_links`"; $db_list=mysql_query($sql); $num=mysql_num_rows($db_list); //统计数据总数 $pages=$num/$pagesize; $pages=ceil($pages); //求出一共需要多少页进行显示 if ($_GET['page']){ $pageval=$_GET['page']; $page=($pageval-1)*$pagesize; } if($num>$pagesize){ if (!isset($pageval)) $pageval=1; } if ($pages==1){ //如果总页面只有一页的话,将“上一页”“下一页”的标签替换为空。 $pageup=""; $pagedown=""; }else{ switch($pageval){ case 1 :{ $pageup="首页"; $pagedown="<a href=$url?page=".($pageval+1).">下一页</a>"; break; } default :{ $pageup="<a href=$url?page=".($pageval-1).">上一页</a>"; $pagedown="<a href=$url?page=".($pageval+1).">下一页</a>"; break; } case $pages :{ $pageup="<a href=$url?page=".($pageval-1).">上一页</a>"; $pagedown="末页"; break; } } }$smarty->assign("pageconfig",$pageconfig); //================================================== $sql_list="SELECT * FROM `wp_links` LIMIT $page,$pagesize"; //由此控制数据显示数量部分 $db_list_list=mysql_query($sql_list); while($row=mysql_fetch_array($db_list_list)){ $page_list[]=array("id"=>$row['link_id'],"url"=>$row['link_url'],"name"=>$row['link_name']); //将数据库中查询内容重新赋值 } $pageconfig="当前第 $pageval 页,共 $pages 页"; $smarty->assign("pageconfig",$pageconfig); $smarty->assign("pageup",$pageup); $smarty->assign("pagedown",$pagedown); $smarty->assign("title",$page_list); $smarty->display("index.htm"); ?>
下面为模板的编写部分:
<table> <tr> <td>id</td> <td>url</td> <td>name</td> </tr> {section name=list loop=$title} <tr> <td>{$title[list].id}</td> <td>{$title[list].url}</td> <td>{$title[list].name}</td> </tr> {/section} </table> {$pageup}{$pagedown}{$pageconfig}
更多关于Smarty相关内容感兴趣的读者可查看本站专题:《smarty模板入门基础教程》、《PHP模板技术总结》、《PHP基于pdo操作数据库技巧总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。