准备工作:
- 有一个
demo
数据库 - 该数据库有个
demo_user
表,该表中数据如下图
结构
首先在 /application/index
目录下有一个 view/index/index.html
和 controller/Index.php
和 model/User.php
view/index/index.html
指的是模板视图层【呈现给用户看的】controller/Index.php
指的是【Index控制器】【这里的Index
一定要与view层
一一对应】model/User.php
指的是【User模型】【主要定义一些方法(操作数据
)返回数据】
开发
首先展示model/User.php
代码
// model/User.php
<?php
namespace app\model;
use think\Model;// 使用thinkphp框架的Model类
// User模型 定义User模型继承Model类
class User extends Model {
protected $table = 'demo_user';// 使用demo_user表
// 获取用户表的信息
public static function getUserList(){
$user = User::where([])->select();// 执行SQL
return $user;// 将拿到的数据返回出去
}
}
controller/Index.php
代码如下
// controller/Index.php
<?php
namespace app\index\controller;//这里定义index模块的控制器
//namespace app\admin\controller;//这里定义admin模块的控制器
use think\Controller;// 使用thinkphp的Controller类
use app\model\User;// 使用自己定义的User模型
// 定义Index控制器继承Controller类
class Index extends Controller{
// 定义Index控制器下的index操作方法
public function index() {
// 定义user为User模型的getUserList方法返回的数据
// 并将数据通过assign方法传递给模板
$this -> assign([
'user' => User::getUserList()
]);
// 渲染模板
return $this->fetch();
}
}
view/index/index.html
代码如下
<!-- view/index/index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
table { border-top: 1px solid #999; border-left: 1px solid #999; border-spacing: 0; margin: 0 auto; }
th,td{width:140px;border: 1px solid #444;text-align: center;}
</style>
</head>
<body>
<table>
<thead>
<tr>
<th>id</th>
<th>用户名</th>
<th>密码</th>
<th>手机号</th>
</tr>
</thead>
<tbody>
<!-- 以上都是一些HTML与CSS代码,不做过多介绍 -->
<!--
volist我的理解是接受控制器传给模板的数据
使用$user来接收控制器传给模板的user
-->
{volist name="$user" id="user"}
<tr>
<td>{$user.id}</td>
<td>{$user.uname}</td>
<td>{$user.password}</td>
<td>{$user.mobile ? $user.mobile : '手机号不存在'}</td>
</tr>
{/volist}
</tbody>
</table>
</body>
</html>
效果如图: