作者:海边拾贝壳女孩_182 | 来源:互联网 | 2023-09-07 11:02
varis_mobinavigator.userAgent.toLowerCase().match((ipod|iphone|android|coolpad|mmp|smartph
主题:
foreach和volist标签实现数据库中的记录在网页中分页显示。
实现效果:
foreach分页
控制器(index/controller/Car.php)实例
namespace app\index\controller;
use think\Controller;
use app\index\model\Car as CarModel;
class Car extends Controller
{
// 分页
public function pages() {
// 分页配置
$config = [
'type' => 'bootstrap',
'var_page' => 'page'
];
// 每个分页显示数量
$num = 5;
// 是否简单分页
$simple = false;
// 用模型获取所有分页数量:think\paginate
$paginate = CarModel::paginate($num, $simple, $config);
// 渲染分页html,返回分页变量(生成html代码)
$page = $paginate->render();
// 将分页数据赋值给模板
$this->view->assign('cars', $paginate);
// 将分页变量赋值给模板
$this->view->assign('page', $page);
// 渲染模板(将生成的html代码编译到网页中显示)
return $this->view->fetch();
}
}
运行实例 »
点击 "运行实例" 按钮查看在线实例
模板(index/view/car/pages.html)实例
{load href="/static/bootstrap/css/bootstrap.min.css"}
车辆信息表
ID |
名称 |
型号 |
颜色 |
价格 |
创建时间 |
更新时间 |
删除时间 |
---|
{//foreach $cars as $car}
{///foreach}
{volist name="cars" id="car"}
{$car.car_id} |
{$car.car_name} |
{$car.car_type} |
{$car.car_color} |
{$car.price} |
{$car.create_time} |
{$car.update_time} |
{//$car.delete_time} {between name="car.delete_time" value="0,1"} 正常 {/between} {between name="car.delete_time" value="2,99999999999"} 已删除 {/between} |
{/volist}
{$page|raw}
{load href="/static/jquery-3.2.1/jquery-3.2.1.min.js"}
{load href="/static/bootstrap/js/bootstrap.min.js"}
运行实例 »
点击 "运行实例" 按钮查看在线实例
模型(index/model/Car.php)实例
namespace app\index\model;
use think\Model;
class Car extends Model
{
protected $table = 'car';
protected $pk = 'car_id';
}
运行实例 »
点击 "运行实例" 按钮查看在线实例
知识点:
分页类是抽象类,无法直接实例化,需要继承在子类中实例化;
thinkphp5.1.14中使用bootstrap为分页默认前端框架,如果要自定义,自己写分页类放到thinkphp/library/paginator/driver下,并继承paginator
模板标签{in}:枚举,离散值
模板标签{between}:连续数据