ホームページ  >  記事  >  PHPフレームワーク  >  thinkphpで現在のページのデータを変更する方法

thinkphpで現在のページのデータを変更する方法

PHPz
PHPzオリジナル
2023-04-11 15:08:11592ブラウズ

ThinkPHP は、ユーザーフレンドリーな開発環境と完全なドキュメントを備えた優れた PHP フレームワークです。 ThinkPHPを利用すると、現在のページのデータベースのデータを変更するという非常に便利な機能があるので、具体的な実装方法を紹介しましょう。

まず、ThinkPHP プロジェクト内のデータを変更する必要があるページを見つけます。ここでは例としてインデックス メソッドを取り上げます:

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

上記のコードは、テスト内のすべてのデータをクエリします。テーブルとクエリ 結果はテンプレートに渡されます。次に、テンプレート内のデータを変更するためのボタンを追加する必要があります。

<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>

上記のコードは、ページ上のテスト テーブル内のすべてのデータを表示し、各行に「変更」ボタンを追加します。 「変更」ボタンをクリックすると、編集メソッドにジャンプします。

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

上記のコードは、ID に基づいてテスト テーブル内のデータをクエリし、クエリ結果をテンプレートに渡します。次に、データを変更するためのフォームをテンプレートに追加します。

<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>

上記のコードは、変更するデータを含むフォームをページに表示します。変更が送信された後、データは 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('修改失败');
    }
}

上記のコードは、フォームによって送信されたデータに基づいてテスト テーブル内のデータを更新し、次のプロンプトを返します。変更の成功または失敗。

要約すると、ThinkPHP を使用して現在のページのデータベース内のデータを変更すると非常に便利です。ページに変更ボタンとフォームを追加し、対応するメソッドを記述するだけです。

以上がthinkphpで現在のページのデータを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。