1、这是page.tpl中的文件
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<div id="list_div" style="margin:auto;width:500px"><table align="center">
<{foreach from=$list item='value'}>
<tr>
<td><{$value.name}></td><td><{$value.author}></td><td><{$value.price}></td>
</tr>
<{/foreach}>
</table>
<{$page_html}>
</div>
2、这是pageHelper
<?php
class pageHelper{
//这个方法的作用是根据参数,返回字符串
public function show($total,$pagesize,$page){
$pages = ceil($total/$pagesize);
$info = "总共".$total."条记录 分为".$pages."页 当前第".$page."页";
$first = 1;
$prev = $page-1;
$next = $page+1;
$last = $pages;
$first_html = sprintf("<a href='javascript:goPage(%s)'>%s</a>",$first,'首页');
$prev_html= '';
if($page>1){
$prev_html = sprintf("<a href='javascript:goPage(%s)'>%s</a>",$prev,'上一页');
}
if($page<$pages){
$next_html = sprintf("<a href='javascript:goPage(%s)'>%s</a>",$next,'下一页');
}
//下拉列表项
$select_html = "<select onchange='goPage(this.value)'>";
for($i=1;$i<=$pages;$i++){
if($i==$page){
$select_html .= sprintf("<option value='%s' selected>%s</option>",$i,$i);
}else{
$select_html .= sprintf("<option value='%s'>%s</option>",$i,$i);
}
}
$select_html .="</select>";
$last_html = sprintf("<a href='javascript:goPage(%s)'>%s</a>",$last,'尾页');
$pageScript = <<<SCR
<script type='text/javascript'>
function goPage(page){
$.ajax({
url:"index.php?c=page&a=page",
type:'POST',
data:"page="+page,
dataType:'text',
cache:false,
async:true,
success:function(data){
$("#list_div").html(data);
},
error:function(xhr,errMsg){
alert(errMsg);
}
});
}
</script>
SCR;
return $info.' '.$first_html.' '.$prev_html.' '.$next_html.' '.$last_html.' '.$pageScript.' '.$select_page.' '.$select_html;
}
}
3、这是model中的文件
<?php
class pageModel extends baseModel{
public function getPageList($offset,$pagesize){
$sql = "select * from book limit $offset,$pagesize";
$result = $this -> getAll($sql);
$sql = "select count(*) from book";
$total = $this ->getOne($sql);
return array('list'=>$result,'total'=>$total);
}
}
4、这是controller下的page.class.php文件
<?php
class pageController extends baseController{
public function pageAction(){
//命令模型层处理数据
$page = isset($_REQUEST['page'])?$_REQUEST['page']:1;
$pagesize = 2;
$offset = ($page-1)*$pagesize;
$pageModel = new pageModel("localhost","root","123","page");
$array = $pageModel ->getPageList($offset,$pagesize);
$content = $array['list'];
$total = $array['total'];
//命令视图层显示数据
$this->smarty->assign('list',$content);
$pageHelper = new pageHelper();
$page_html = $pageHelper ->show($total,$pagesize,$page);
$this->smarty->assign('page_html',$page_html);
$this->smarty->display('page.tpl');
}
}