博客列表 >使用foreach和volist标签分别实现模板数据的分页显示--2018年5月30日

使用foreach和volist标签分别实现模板数据的分页显示--2018年5月30日

笨鸟先飞
笨鸟先飞原创
2018年05月31日 20:00:341039浏览

使用foreach和volist标签分别实现模板数据的分页显示:


实例

    //循环标签
    public function demo1()
    {
       $staffs = StaffModel::all(function($query){
            $query->field(['id','name','sex','age','phone_number']);
                // ->where('age','<',10);
        });
       // halt($staffs);=====dump($staffs);exit();
       
       // 模板赋值
       $this->view->assign('staffs',$staffs);

       //渲染模板
       return  $this->view->fetch();
    }


    //分页查询
    public function demo2()
    {
        //分页配置
        $config = [
            'type' => 'bootstrap',
            'var_page' => 'page' //分页变量
        ];

        //分页显示数量
        $num = 5;
        
        //是否简单分页,也就上一页 下一页
        $simple = false;


        //用模型来获取所有的 分页数据,think\Paginate   返回的是一个对象  
        $paginate = StaffModel::paginate($num,$simple,$config);//就是得到了数据表里面的数据

        //渲染分页HTML代码,返回分页变量
        $page = $paginate->render();

        //将分页数据赋值给模板
        $this->view->assign('staffs',$paginate);

        //将分页变量赋值给模板
        $this->view->assign('page',$page);

        //渲染模板
        return  $this->view->fetch();
    }

运行实例 »

点击 "运行实例" 按钮查看在线实例

demo1,2:


实例

{load href="/static/bootstrap/css/bootstrap.min.css"}
<div class="container">
	<div class="row">
		<h3 class="text-center">员工信息表</h3>
		<div class="col-md-8 col-md-offset-2">
			<table class="table table-bordered table-hover text-center">
				<tr class="info">
					<td>ID</td>
					<td>姓名</td>
					<td>性别</td>
					<td>年龄</td>
					<td>号码</td>
				</tr>

				{//单行注释}
				{/*
                     这是多行注释
				*/}
			
            {//在当前模板中创建变量,来保护数据表中的数据}
            {//assign name="staffs" value=":\app\index\model\Staff::all()"}

			{//foreach标签:类似于原生foreach}
			{//foreach $staffs as $staff}
                <//tr>
                	<//td>{//$staff.id}</td>
                	<//td>{//$staff.name}</td>
                	<//td>{//$staff.sex}</td>
                	<//td>{//$staff.age}</td>
                	<//td>{//$staff.phone_number}</td>
                <///tr>
			{///foreach}


			{//2.vplist标签:使用最广泛的,参数众多,功能强大}

			{//volist name="staffs" id="staff" offset="2" length="5"}{//staff是循环变量,自定义的和foreach里as后面的一样}
			{//volist name="staffs" id="staff" mod="2"}
			{//输出偶数行}
            {//eq name="mod" value="1"}{//以表格的下标来计算 1/2 余数1 所以下标为1的在表中的第二行}
            {//输出奇数行}
            {//eq name="mod" value="0"}{//0/2 余数0 所以下标为0的在表中的第一行 ,以此计算}


            {//olist name="staffs" id="staff" empty="数据表为空"}
            {empty name="staffs"}
                <h3 style="color: red">查询数据为空</h3>
             {else /}
            {volist name="staffs" id="staff"}
                <tr>
                	<td>{$staff.id}</td>
                	<td>{$staff.name}</td>
                	<td>{$staff.sex}</td>
                	<td>{$staff.age}</td>
                	<td>{$staff.phone_number}</td>
                </tr>
            {///eq}
            {/volist}
            {/empty}
			</table>
		</div>
	</div>
</div>

{load href="/static/bootstrap/js/bootstrap.js"}
{load href="/static/jquery/jquery.js"}

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议