這篇文章主要介紹了Smarty分頁實(shí)現(xiàn)方法,涉及基于Smarty的數(shù)據(jù)庫查詢、分頁相關(guān)計(jì)算與模板操作技巧,需要的朋友可以參考下
首先是PHP文件部分:
<?php
require("include.php"); //包含smarty配置部分
require 'conn.php'; //包含數(shù)據(jù)庫配置部分
$pagesize=10; //設(shè)置每頁數(shù)據(jù)顯示數(shù)量
$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); //統(tǒng)計(jì)數(shù)據(jù)總數(shù)
$pages=$num/$pagesize;
$pages=ceil($pages); //求出一共需要多少頁進(jìn)行顯示
if ($_GET['page']){
$pageval=$_GET['page'];
$page=($pageval-1)*$pagesize;
}
if($num>$pagesize){
if (!isset($pageval)) $pageval=1;
}
if ($pages==1){ //如果總頁面只有一頁的話,將“上一頁”“下一頁”的標(biāo)簽替換為空。
$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"; //由此控制數(shù)據(jù)顯示數(shù)量部分
$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']); //將數(shù)據(jù)庫中查詢內(nèi)容重新賦值
}
$pageconfig="當(dāng)前第 $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模板的PHP程序設(shè)計(jì)有所幫助。