zoukankan      html  css  js  c++  java
  • 读取数据

    读取数据

    当我们成功写入数据后,就可以进行数据读取操作了。在前面一篇中,我们已经知道可以用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 HomeController;
    use ThinkController;
    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 HomeModel;
    use ThinkModel;

    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妇科品牌专题
    内容: 襄阳看妇科医院在哪里。
    清风明月本无价,近水远山皆有情。
  • 相关阅读:
    MySQL(错误1064)
    如何判断是手机还是电脑访问网站
    Oracle表分区
    分离Date数据
    多对多
    一对多
    SQLalchemy基础
    paramiko上传下载
    paramiko
    automap
  • 原文地址:https://www.cnblogs.com/onlylove2015/p/5151050.html
Copyright © 2011-2022 走看看