在smarty里面写一个分页
demo6.php代码示例:
<?php header(“Content-Type:text/html;charset=utf-8″); require “smarty/Smarty.class.php”; $smarty = new Smarty(); //连接数据库 mysql_connect(“localhost”,’root’,”); mysql_query(‘use xsphp’); mysql_query(‘set names utf8′); //读取所有记录,获取总数量 $sql = ‘select count(*) as num from stu';//查询总条数 $res = mysql_query($sql); $row = mysql_fetch_assoc($res); $count = $row[‘num’]; //拿到总条数 //echo $count; //设置每页显示记录数 $pagesize = 10; //获取总页数 $pagecount = ceil($count/$pagesize); //总条数除以每页多少条拿到总页数 $page = isset($_GET[‘page’]) ? $_GET[‘page’] : 1; //设置上一页与下一页 $pageprev = $page – 1; $pagenext = $page + 1; //判断是否越界 //让他不能有负数 if($pageprev == 0){ $pageprev = 1; } //如果超过最大值让他等于总页数 if($pagenext > $pagecount){ $pagenext = $pagecount; } //小于1的都让他是1 if($page < 1){ $page = 1; } //超过总页数的让他去尾页 if($page > $pagecount){ $page = $pagecount; } //获取偏移量 $offset = ($page -1)*$pagesize; //读取结果集分配到模版文件中 $sql = “select id,name,age from stu order by id desc limit $offset,$pagesize”; $res = mysql_query($sql); $data = array(); while($arr = mysql_fetch_assoc($res)){ $data[] = $arr; } //通过assign方法分配变量到模版文件 $smarty -> assign(‘data’,$data);//遍历出来的结果 $smarty -> assign(‘pagecount’,$pagecount);//总页数 $smarty -> assign(‘pageprev’,$pageprev);//总页数 $smarty -> assign(‘pagenext’,$pagenext);//总页数 $smarty -> assign(‘count’,$count);//总条数 $smarty -> display(‘demo6.html’);
demo6.html代码示例:
<!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> <style type=”text/css”> table{ width:400px; border:1px solid red; border-collapse:collapse; } table tr th, table tr td{ border:1px solid red; text-align:center; } </style> </head> <body> <table> <tr> <th>编号</th> <th>姓名</th> <th>年龄</th> <th>操作</th> </tr> {foreach from=$data item=’row’} <tr> <td>{$row[‘id’]}</td> <td>{$row[‘name’]}</td> <td>{$row[‘age’]}</td> <td><input type=”checkbox” name=”id[]” value=”{$row[‘id’]}” /></td> </tr> {/foreach} <tr> <td colspan=”4″> 单前共有{$count}条记录 <a href=”demo6.php?page=1″>首页</a> <a href=”demo6.php?page={$pageprev}”>上一页</a> <a href=”demo6.php?page={$pagenext}”>下一页</a> <a href=”demo6.php?page={$pagecount}”>末页</a> <input type=”submit” name=”submit” value=”批量删除”/> </td> </tr> </table> </body> </html>