Home  >  Article  >  PHP Framework  >  How to modify the data of the current page in thinkphp

How to modify the data of the current page in thinkphp

PHPz
PHPzOriginal
2023-04-11 15:08:11643browse

ThinkPHP is an excellent PHP framework with a user-friendly development environment and complete documentation. There is a very convenient function using ThinkPHP: modifying the data in the database on the current page. Let's introduce the specific implementation method.

First, find the page that needs to modify the data in your ThinkPHP project. Here we take the index method as an example:

public function index()
{
    //查询数据
    $list = Db::name('test')->select();
    //将数据传递到模板
    $this->assign('list', $list);
    return $this->fetch();
}

The above code will query all the data in the test table and query The results are passed into the template. Next, we need to add a button to modify the data in the template:

<table>
    <tr>
        <th>ID</th>
        <th>姓名</th>
        <th>年龄</th>
        <th>操作</th>
    </tr>
    {volist name='list' id='vo'}
    <tr>
        <td>{$vo.id}</td>
        <td>{$vo.name}</td>
        <td>{$vo.age}</td>
        <td><a href="{:url(&#39;edit&#39;, [&#39;id&#39;=>$vo.id])}">修改</a></td>
    </tr>
    {/volist}
</table>

The above code will display all the data in the test table on the page and add a "Modify" button to each row. Clicking the "Modify" button will jump to the edit method:

public function edit($id)
{
    //根据ID查询数据
    $data = Db::name('test')->where('id', $id)->find();
    if(!$data) {
        $this->error('数据不存在');
    }
    //将数据传递到模板
    $this->assign('data', $data);
    return $this->fetch();
}

The above code will query a piece of data in the test table based on the ID and pass the query results to the template. Next, add a form to the template to modify the data:

<form method="post" action="{:url(&#39;update&#39;)}">
    <input type="hidden" name="id" value="{$data.id}" />
    <div>
        <label>姓名</label>
        <input type="text" name="name" value="{$data.name}" />
    </div>
    <div>
        <label>年龄</label>
        <input type="text" name="age" value="{$data.age}" />
    </div>
    <button type="submit">提交修改</button>
</form>

The above code will display a form on the page that contains the data to be modified. After the modification is submitted, the data will be sent to the update method:

public function update()
{
    //接收表单提交的数据
    $id = input('post.id');
    $name = input('post.name');
    $age = input('post.age');
    //更新数据
    $update = Db::name('test')->where('id', $id)->update(['name'=>$name, 'age'=>$age]);
    if($update) {
        $this->success('修改成功');
    } else {
        $this->error('修改失败');
    }
}

The above code will update a piece of data in the test table based on the data submitted by the form, and return a prompt of success or failure of the modification.

In summary, it is very convenient to use ThinkPHP to modify the data in the database on the current page. You only need to add modification buttons and forms to the page, and then write the corresponding method.

The above is the detailed content of How to modify the data of the current page in thinkphp. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn