ThinkPHP学习笔记(六)使用CURD对User数据库数据进行删除和修改
继《ThinkPHP学习笔记(三)输出》,上一篇描述了C如何传递数据到V,其中C传递是静态数据 $name='lizhongfu'; $this->assign('data',$name);,但实际中$name需要根据情况动态而定的,于需要从数据库获$name的值,而数据是MVC中M层,那C如何从M获取数据?
1、建立数据库db_thphp及数据表tp_user
插入两条数据:
2、配置ThinkPHP与数据库的联系
打开项目目录中的Conf文件夹下的config.php文件(蓝色字体部分,后续会解释“开启页面Trace”):
<?php
return array(
'TMPL_L_DELIM'=>'<{', //修改左定界符
'TMPL_R_DELIM'=>'}>', //修改右定界符
'DB_TYPE'=>'mysql', //设置数据库类型
'DB_HOST'=>'localhost', //设置主机
'DB_NAME'=>'db_thphp', //设置数据库名
'DB_USER'=>'root', //设置用户名
'DB_PWD'=>'rootpw', //设置密码
'DB_PORT'=>'3306', //设置端口号
'DB_PREFIX'=>'tp_', //设置表前缀(tp_user:为了避免数据表冲突,建议添加)
'DB_DSN'=>'mysql://root:rootpw@localhost:3306/db_thphp',//使用DSN方式配置数据库信息,优先级别比以上蓝色配置信息更高
'SHOW_PAGE_TRACE'=>true, //开启页面Trace
);
?>
3、从数据库获取数据并用V展示
C层代码:
<?php
class IndexAction extends Action {
public function show() {
$m=new Model('User'); //获取数据表User的Model对象
$arr=$m->select(); //读取数据库获取数据表中全部数据
// var_dump($arr);
$this->assign('data',$arr[0]['username']);
$this->display();
}
}
输出结果:
扩展:
1、
C这样传值给V:$this->assign('data',$arr[0]['username']); 也可以把整个$arr数组传给V:如下C:
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
public function show() {
$m=new Model('User');
$arr=$m->select();
$this->assign('data',$arr);
$this->display();
}
}
V:
<html>
<head>
<title>Test</title>
</head>
<body>
<h1>this is <{$data}></h1>
<volist name='data' id='aId'> <!-- 模板可以遍历数组 -->
<{$aId.id}>-------<{$aId.username}>-------<{$aId.sex}><br/>
</volist>
</body>
</html>
输出:
2、开启调试模式
开启调试模式可以看到调试信息:如图
刷新页面后,页面右下角会出现一个标识,点击会出现如下调试信息:
怎么样开启调试模式呢?
两部:
1、开启调试功能看: ThinkPHP学习笔记(二)MVC模式和URL访问
2、设置配置文件,开启页面trace : ”本文中唯一红色的那行“