ThinkPhp5框架——分页功能

 第一种为直接操作数据库方法:

class名为Sql的controller,方法为index,paginate()方法,参数规定了每一页显示几条数据

public function index($id = 0)
    {
        $res=Db::table('tp_user')->paginate(3);、

将结果注入到‘fenye’,前台通过name='fenye'来接收数据 $this->assign('fenye',$res);
return $this->fetch(); }

在view视图中的sql文件夹下的index.html中代码部分,通过volist方法进行循环数组

     <div>
        <ul>
            {volist name='fenye' id='user'}
            <li><span>{$user.name}</span> <span>{$user.age}</span> <span>{$user.sex}</span></li>
            {/volist}
        </ul>
    </div>
    <div>
用来显示底部的上一页和下一页,和页面数量 {$fenye->render()} </div>

注册路由信息,可选的id参数

Route::any('sql/[:id]','index/sql/index');

 

第二种方法是通过操作模型类中的方法;

class名为Sql,在controller中的index方法,调用user类,操作user表

  public function index($id = 0)
    {
        $res=User::where('id','>','0')->paginate(3);
        $date=$res->render();
        $this->assign('fenye',$res);
        $this->assign('page',$date);
        return $this->fetch();
}

在view视图中的sql文件夹下的index.html中代码部分,通过volist方法进行循环数组

    <div>
        <ul>
            {volist name='fenye' id='user'}
            <li><span>{$user.name}</span> <span>{$user.age}</span> <span>{$user.sex}</span></li>
            {/volist}
        </ul>
    </div>
    <div>
    {$page}
    </div>

 

上一篇:The Process class relies on proc_open, which is not available on your PHP in


下一篇:thinkphp5 链式操作page分页用法