美文网首页php知识总结
thinkphp3.2 ajax返回页面(一)

thinkphp3.2 ajax返回页面(一)

作者: 响呼雷 | 来源:发表于2017-04-11 17:26 被阅读9次

    新手,勿喷!!!

    首先,基于thinkphp分页,上代码:

    一、我写了一个function.php:

    functiongetpage($count,$pagesize=20) {//$count(参数一,表示数据的总数量),$pagesizs(参数二,表示你一页显示多少条数据)

    $p=new Think\Page($count,$pagesize);

    $p->setConfig('header','

    %TOTAL_ROW%

    条记录 第

    %NOW_PAGE%

    页/共

    %TOTAL_PAGE%

    ');

    $p->setConfig('prev','上一页');

    $p->setConfig('next','下一页');

    $p->setConfig('last','末页');

    $p->setConfig('first','首页');

    $p->setConfig('theme','%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');

    $p->lastSuffix=false;//最后一页不显示为总页数

    return $p;

    }

    二、控制器memberController.class.php

    public function shouyinyuan(){

    $cashier= M('Cashier');//模型,这个不用解释

    $count=$cashier->count();//获取数据表里面的总数量

    $p= getpage($count,20);//调用上面的function.php的方法,传两个参数进去

    if($count<=20) {//这里我判断<=20是因为在查询出来的数据超过20条,看效果图:

    没有上一页,下一页什么的

    否则的话:

    这个是>20的情况

    $list=$cashier->select();//查询数据,这里你可以添加字的where条件

    $this->assign('list',$list);

    $this->assign('page',$p->show());// 赋值分页输出

    $this->display();

    }else{

    $list=$cashier->order("id")->limit($p->firstRow.','.$p->listRows)->select();

    $this->assign('list',$list);// 赋值数据集

    $this->assign('page',$p->show());// 赋值分页输出

    $this->display();

    }

    }

    三、ajax处理

    $(function(){

    $('#ul4').on('click','.jspage a',function(){//#ul4是你获取到的数据要显示在哪里,这里给a标签绑定一个事件

    $.ajax({

    type:'get',

    url:$(this).attr('href'),

    success:function(data){

    $('#ul4').html(data);

    }

    });

    return false;

    });

    });

    $(function() {//这个位置一定要放在最下面、要不然话的会不执行a标签的路径

    $('.jspage a').trigger('click');

    });

    到这里,大家会问:你的a标签是那里的?

    四、html页面

    #ul4是哪个?a标签是哪个?如图:

    这个大家应该看的很清楚了,ul4有了,a标签也有了

    问题来了,你的ajax里面执行了a标签的href,那你的shouyiyuan.html在哪?下面来了

    这里面只需要你编写数据的标签即可,不需要head,title,body什么的多余标签了

    五、css

    .pages a,.pages span{

    display:inline-block;

    padding:2px5px;

    margin:0 1px;

    border:1px solid#f0f0f0;

    -webkit-border-radius:3px;

    -moz-border-radius:3px;

    border-radius:3px;

    }

    .pages a,.pages li{

    display:inline-block;

    list-style:none;

    text-decoration:none; color:#58A0D3;

    }

    .pages a.first,.pages a.prev,.pages a.next,.pages a.end{

    margin:0;

    }

    .pages a:hover{

    border-color:#50A8E6;

    }

    .pages span.current{

    background:#50A8E6;

    color:#FFF;

    font-weight:700;

    border-color:#50A8E6;

    }

    到这里,分页就做完了,这是自动加载数据并分页的全部步骤,可以使用的,希望可以帮到大家。我也是新手,相互学习,如果出现问题或有可以该进的地方,欢迎评论。(因为项目需要,近期需要做出一个根据筛选条件,刷新页面并显示分页,近期会推出‘分页二’),加油吧!!!

    相关文章

      网友评论

        本文标题:thinkphp3.2 ajax返回页面(一)

        本文链接:https://www.haomeiwen.com/subject/jsnyattx.html