Thinkphp 中获取参数

读取数据

当我们成功写入数据后,就可以进行数据读取操作了。这里我们来通过find方法获取一个单一数据,定义read操作方法如下: 

1. public function read($id=0){

2.     $Form   =   M('Form');

3.     // 读取数据

4.     $data =   $Form->find($id);

5.     if($data) {

6.         $this->data =   $data;// 模板变量赋值

7.     }else{

8.         $this->error('数据错误');

9.     }

10.     $this->display();

11. }

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

1. array(

2.     'id'        =>  5,

3.     'title'     =>  '测试标题',

4.     'content'   =>  '测试内容',

5.     'status'    =>  1,

6. )

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

1. <table>

2. <tr>

3.     <td>id:</td>

4.     <td>{$data.id}</td>

5. </tr>

6. <tr>

7.     <td>标题:</td>

8.     <td>{$data.title}</td>

9. </tr>

10. <tr>

11.     <td>内容:</td>

12.     <td>{$data.content}</td>

13. </tr>

14. </table>

完成后,我们就可以访问 

1. http://localhost/app/index.php/Form/read/id/1

来查看了。

 

在实际中public function read($id=0){}有时会获取不到$id的值,这是因为传递过来的id值没有变量保存,方法里面操作的$id还是一开始设置的$id=0,

遇到这种情况可以在方法里声明$id = $_GET[‘id’]; 或 将public function read($id=0){}的参数去掉,即public function read(){}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值