Maison > cadre php > PensezPHP > Comment modifier les données de la page actuelle dans thinkphp

Comment modifier les données de la page actuelle dans thinkphp

PHPz
Libérer: 2023-04-11 15:36:09
original
744 Les gens l'ont consulté

ThinkPHP是一个优秀的PHP框架,具有用户友好的开发环境和完善的文档。使用ThinkPHP有一个非常便捷的功能:在当前页面修改数据库中的数据,下面我们来介绍具体的实现方法。

首先,在你的ThinkPHP项目中找到需要修改数据的页面,这里我们以index方法为例:

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

以上代码会查询test表中所有的数据,并将查询结果传递到模板中。接下来,我们需要在模板中添加修改数据的按钮:

<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>
Copier après la connexion

以上代码会在页面上显示test表中所有的数据,并为每一行添加了一个“修改”按钮。点击“修改”按钮会跳转到edit方法中:

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

以上代码会根据ID查询test表中的一条数据,并将查询结果传递到模板中。接下来,在模板中添加表单,实现对数据的修改:

<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>
Copier après la connexion

以上代码会在页面上显示一个表单,其中包含要修改的数据。提交修改后,数据会被发送到update方法中:

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('修改失败');
    }
}
Copier après la connexion

以上代码会根据表单提交的数据更新test表中的一条数据,并返回修改成功或失败的提示。

综上所述,使用ThinkPHP实现在当前页面修改数据库中的数据非常便利,只需要在页面中添加修改按钮和表单,再编写相应的方法即可。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal