您的位置:首页 > 其它

读取数据

2016-01-22 14:05 274 查看

读取数据

当我们成功写入数据后,就可以进行数据读取操作了。在前面一篇中,我们已经知道可以用select方法获取数据集,这里我们来通过find方法获取一个单一数据,定义read操作方法如下:

public function read($id=0){
$Form   =   M('Form');
// 读取数据
$data =   $Form->find($id);
if($data) {
$this->assign('data',$data);// 模板变量赋值
}else{
$this->error('数据错误');
}
$this->display();
}

read操作方法有一个参数$id,表示我们可以接受URL里面的id变量(后面我们会在变量章节详细描述。这里之所以用M方法而没有用D方法,是因为find方法是基础模型类Model中的方法,所以没有必要浪费开销去实例化FormModel类(即使已经定义了FormModel类)。我们通常采用find方法读取某个数据,这里使用了AR模式来操作,所以没有传入查询条件,find($id) 表示读取主键为$id值的数据。

然后我们可以在模板中输出数据,添加一个read模板文件,

<table>
<tr>
<td>id:</td>
<td>{$data.id}</td>
</tr>
<tr>
<td>标题:</td>
<td>{$data.title}</td>
</tr>
<tr>
<td>内容:</td>
<td>{$data.content}</td>
</tr>
</table>

完成后,我们就可以访问
http://localhost/app/index.php/home/Form/read/id/1


来查看了。

*****************************************************************************

1--Home/Controller/FormController.class.php

<?php
namespace Home\Controller;
use Think\Controller;
class FormController extends Controller{
public function insert(){
$Form=D('Form');
if($Form->create()){
$result= $Form->add();
if($result){
$this->success('数据添加成功!');
}else{
$this->error('数据添加错误!');
}
}else{
$this->error($Form->getError());
}
}

public function read($id=0){
$Form=M('Form');
$data=$Form->find($id);
if($data){
$this->assign('data',$data);

}else{
$this->error('数据错误');
}
$this->display();
}
}

2--Home/Model/FormModel.class.php

<?php
namespace Home\Model;
use Think\Model;

class FormModel extends Model {
// 定义自动验证
protected $_validate = array(
array('title','require','标题必须'),
);
// 定义自动完成
protected $_auto = array(
array('create_time','time',1,'function'),
);
}

3--Home/View/Form/read.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>读取数据</title>
</head>
<body>
<table> <tr> <td>id:</td> <td>{$data.id}</td> </tr> <tr> <td>标题:</td> <td>{$data.title}</td> </tr> <tr> <td>内容:</td> <td>{$data.content}</td> </tr> </table>
</body>
</html>

****************************

输出结果:

id:2
标题:2016妇科品牌专题
内容:襄阳看妇科医院在哪里。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: