发布于 2016-05-16 00:44:33 | 185 次阅读 | 评论: 0 | 来源: 网友投递
Smarty模板引擎
Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。
这篇文章主要介绍了Smarty分页实现方法,涉及基于Smarty的数据库查询、分页相关计算与模板操作技巧,需要的朋友可以参考下
本文实例讲述了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}