Jquery实现的翻页功能(在mvc中实现的)

来源:互联网 发布:淘宝 钓鱼数码 编辑:程序博客网 时间:2024/05/01 14:28

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.'&nbsp;'.$first_html.'&nbsp;'.$prev_html.'&nbsp;'.$next_html.'&nbsp;'.$last_html.'&nbsp;'.$pageScript.'&nbsp;'.$select_page.'&nbsp;'.$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');
    }

}


原创粉丝点击