php+ajax+jquery 实现无刷新分页以及js缓存

PHP+jQuery+ajax 实现无刷新分页
本文记录了实现刷新新分页以js实现缓存,以便自己以后翻阅
总体思路:
在服务端根据ajax提交的当前页和商品id查询出分页需要的数据;返回前端的数据有:分页数据、总记录数、当前页、总页数、每页显示条数
PHP代码:
public function getAjaxPage()
{

    $p =intval(I("get.page",1))? intval(I("get.page",1)):1 ;//当前页

    $goods_id = intval(I("get.goods_id"));
    //根据商品id去数据库查询有多少条记录
    $count = D("Comment")->where("goods_id = $goods_id")->count();
    //每页显示多少条
    $pageSize = 5;
    //总的页数
    $pageCount = ceil($count/$pageSize);

    //拼接limit的偏移量
    $offset = ($p-1)*$pageSize;

    //查询comment表获取对应商品下有多少条评论
    $data = D("Comment")->alias("a")->field("a.*,b.username")->join("left join __USER__ b on a.user_id = b.id")->limit($offset,$pageSize)->where("goods_id = $goods_id")->order("addtime desc")->select();
    //$data['face'] = "http://www.jxshop.com/Public/Home/images/user1.gif";
    foreach ($data as $k=>$v){
        $data[$k]['face'] = "/Public/Home/images/user1.gif";
        $data[$k]['addtime'] = date('Y-m-d H:i:s',$v['addtime']);
    }
    //后台返回data【根据id和当前页查询出对应商品的评论】总页数、当前页、总记录数、每页显示条数
    echo json_encode(array("data"=>$data,'pageCount'=>$pageCount,"currentPage"=>$p,"totalRow"=>$count,"pageSize"=>$pageSize));

}

  //根据点击有用获取的数据
public function useful()
{

    $useful = I("post.use_user");


    //如果session中有值,并且是同一个用户点击的,就不让点击

    if(in_array(session($useful),session())){
        $this->error('您已经点击过了','',true);
    }

    $goods_id = I("post.goods_id");
    $comment_id = I("post.comment_id");
    D("Comment")->where("goods_id = $goods_id AND id = $comment_id")->setInc('click_count');
    //注意:这里不能设置一样的session名字,不然就算是不同的value值,在session中也是不一样的,可以根据每个不同的useful来设置不同的sessionname和value
    //针对同一个用户对同一件商品的同一条评论值能点赞一次
    session($useful,$useful);
    $this->success("点赞成功",'',true);
}

html+js代码
js代码:

    

你可能感兴趣的:(js,jQuery,PHP,无刷新分类)