jQuery页面替换+php代码实现搜索后分页

 

HTML代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <input type="text" id="word" value="{$data.word}">
    <input type="button" value="搜索" onclick="page(1)">
<table>
    <tr>
        <th>ID</th>
        <th>账号</th>
        <th>密码</th>
        <th>手机</th>
        <th>登录时间</th>
        <th>登录次数</th>
        <th>状态</th>
    </tr>
    {volist name="data.list" id="v"}
    <tr>
        <td>{$v.id}</td>
        <td>{$v.uname}</td>
        <td>{$v.pwd}</td>
        <td>{$v.phone}</td>
        <td>{$v.login_time|date="Y-m-d H:i:s",###}</td>
        <td>{$v.login_num}</td>
        <td>
            {switch name="$v.is_on" }
                {case value="1"}正常{/case}
                {case value="2"}锁定{/case}
            {/switch}
        </td>
    </tr>
    {/volist}
</table>

<a href="javascript:void(0);" onclick="page({$data.home_page})">首页</a>
<a href="javascript:void(0);" onclick="page({$data.prev_page})">上一页</a>
<a href="javascript:void(0);" onclick="page({$data.next_page})">下一页</a>
<a href="javascript:void(0);" onclick="page({$data.last_page})">尾页</a>

<script src="__STATIC__/js/jquery.js"></script>
<script>
    function page(obj){
        //获取搜索框的值
        var word = $("#word").val();
        if(word==''){
            $.get("{:url('Three/home')}?page="+obj,function(data){
                $("body").html(data);
            })
        }else{
            //有值
            $.get("{:url('Three/home')}?page="+obj+"&word="+word,function(data){
                $("body").html(data);
            })
        }
        
    }
</script>
</body>

 

 

  PHP代码

//展示页面
    public function home(){
        //接收关键字
        $word = Request::instance()->param('word');
        if(empty($word)){
            //查询所有的数据
            //求出总条数
            $count = Db::table("user")->count();
            //设置每页显示的条数
            $length = 2;
            //求出来总页数
            $zong_page = ceil($count/$length);
            //接收当前页
            $page = Request::instance()->param('page');
            $current_page = empty($page) ? 1 : $page;
            //求出偏移量
            $limit = ($current_page-1)*$length;
            //查询
            $data = Db::table("user")->limit($limit,$length)->select();
        }else{
            //根据关键字实现多条件查询
            //求出总条数(满足条件的)
            $count = Db::table("user")->where('uname|phone','like',"$word%")->count();
            //设置每页显示的条数
            $length = 2;
            //求出来总页数
            $zong_page = ceil($count/$length);
            //接收当前页
            $page = Request::instance()->param('page');
            $current_page = empty($page) ? 1 : $page;
            //求出偏移量
            $limit = ($current_page-1)*$length;
            //查询
            $data = Db::table("user")->where('uname|phone','like',"$word%")->limit($limit,$length)->select();
        }
        
        //判断页码
        $arr['list'] = $data;
        $arr['home_page'] = 1;
        $arr['prev_page'] = $current_page-1 <= 1 ? 1 : $current_page-1;
        $arr['next_page'] = $current_page+1 >= $zong_page ? $zong_page : $current_page+1;
        $arr['last_page'] = $zong_page;
        $arr['word'] = empty($word) ? null : $word;

        return view('home',['data'=>$arr]);
    }

 

posted @ 2019-03-28 15:43  你的男孩  阅读(380)  评论(0编辑  收藏  举报