本文实例讲述了Smarty分页实现方法。分享给大家供大家参考,具体如下:
首先是PHP文件部分:
<?phprequire("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}