TP 分页后,调用指定页。

本文介绍了TP框架中实现分页显示的方法,包括HTML部分的展示和PHP控制器的代码实现,帮助开发者理解如何在TP框架下进行高效的数据分页。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TP笔记--分页

 

显示效果

html部分

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>thinkphp学习之路之分页跳转的实现</title>
        <style>
            .pagination li{float:left;list-style:none;padding:5px 10px;}
        </style>
        <link rel="stylesheet" type="text/css" href="http://cdn.bootcss.com/bootstrap/4.0.0-alpha.5/css/bootstrap-flex.css"/>
    </head>
    <body>
        <!--验证码的输出-->
        <!--<div><img src="{:captcha_src()}" alt="captcha" /></div>-->
        <!--通过拓展的插件实现验证码的展现-->
            <!--会员信息的输出-->
            <div class="table-responsive">
                <table class="table table-hover"> <!--border="1" cellspacing="0" cellpadding="0"-->
                    <theader>
                        <tr>
                            <th>ID</th>
                            <th>用户名</th>
                            <th>用户类型</th>
                            <th>用户状态</th>
                            <th>注册时间</th>
                        </tr>
                    </theader>
                    {foreach $result as $vo}
                        <tr>
                            <td>{$vo.id}</td>
                            <td>{$vo.user_login}</td>
                            <td>
                                {switch name="$vo.user_type"}
                                    {case value="1"}管理员{/case}
                                    {case value="2"}普通会员{/case}
                                {/switch}
                            </td>
                            <td>
                                {switch name="$vo.user_status"}
                                    {case value="0"}禁止登录{/case}
                                    {case value="1"}正 常{/case}
                                    {case value="2"}未验证{/case}
                                {/switch}
                            </td>
                            <td>{$vo.create_time}</td>
                        </tr>
                    {/foreach}
                </table>
            </div>
            <div>
                <form class="form-inline" role="form" method="post"><!--post和get需要和后台控制器保持一致否则无效-->
                    <div class="form-group">
                        {$page}
                    </div>
                    <div class="form-group">
                        <input class="form-control" type="number" min="1" max="{$count}" name="pagelist" placeholder="请输入页码"/>
                        <input class="btn btn-danger" type="submit" value="确定" />
                    </div>
                </form>
            </div>
    </body>
</html>

PHP控制器部分

<?php
namespace app\index\controller;
use think\Controller;
use think\Db;
class Index extends Controller
{
    public function index()
    {
        $num=input('post.pagelist');//post和get需要和前台提交的时候保持一致否则无效
        //dump($num);//传来的数值
        $currnum=5;//设置每页显示的数据条数
        $count= Db::name('users')->count();//获取数据的总数量
        //dump($count);//数据的总数量
        $data = Db::name('users')->paginate($currnum,$count/*false*/,[//数字10为每页显示的总条数,true为去掉中间的页码部分,false为显示分页的页码
            'type'       => 'bootstrap',//分页类名
            'var_page' => 'page',//分页变量
            'page'     => $num,//传入跳转值给当前页
        ]);
        $pages=$count/$currnum;//计算出总页数
        $page=$data->render();//获取分页显示
        $this->assign('result',$data);//模板变量赋值与result,使其在前台可以使用$result变量
        $this->assign('count',$pages);
        $this->assign('page',$page);
        //dump($page);
        return $this->fetch();
    }
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值