zoukankan      html  css  js  c++  java
  • ThinkPHP中简单的CURD操作

    前言


     

    我们通过一个简答例子来简述CURD的操作。首先看一下数据库的样子,其中id为自增行,其它是varchar

    一、查询操作


     

    首先,创建在Controller文件夹下创建一个User控制器,在该控制器下写我们的查询实现方法。

    <?php
    namespace HomeController;
    use ThinkController;
    class UserController extends Controller {
        public function index(){
            $user = M('User');
            $result = $user->select();
            $this->assign('data', $result);
            $this->display();
        }
    }

      在index方法中我们创建了一个Model,这个Model返回的是数据库的User表。在该表上我们调用select()方法来返回表中所有的数据。数据以数组的方式进行存储的。然后把数组传递给视图,在视图中我们显示出这个表的内容。

    <!DOCTYPE html>
    <html>
    <head>
        <title>用户表</title>
    </head>
    <style type="text/css">
        table{
            border: 1px solid #DCDCDC;
        }
        table td{
            border: 1px solid #DCDCDC;
        }
    </style>
    <body>
        <table style="margin: 0 auto;">
            <thead>
                <tr>
                    <td>id</td>
                    <td>用户名</td>
                    <td>用户密码</td>
                </tr>
            </thead>
            <tbody>
                <volist name="data" id="row">
                    <tr>
                        <td>{$row.id}</td>
                        <td>{$row.username}</td>
                        <td>{$row.userpwd}</td>
                    </tr>
                </volist>
            </tbody>
        </table>
    </body>
    </html>

    二、删除操作


     

    在控制器中添加删除方法,通过前台返回的id将数据从数据库中删除

    <?php
    namespace HomeController;
    use ThinkController;
    class UserController extends Controller {
        public function index(){
            $user = M('User');
            $result = $user->select();
            $this->assign('data', $result);
            $this->display();
        }
    
        public function del()
        {
            $user = M('User');
            $id = $_GET['id'];
            $count = $user->delete($id);
            if($count > 0){
                $this->success("数据删除成功");
            }else{
                $this->error("数据删除失败!");
            }
        }
    }

    三、修改操作


     

     public function modify(){
            $user = M('User');
            $id = $_GET['id'];
            $result = $user->find($id);
            $this->assign('data', $result);
            $this->display();
        }

    这里直接给出方法,modify的作用就是用户点击了修改按钮后,直接跳转到修改页面。并在修改页面显示出用户需要修改的内容。

    • index视图
    <!DOCTYPE html>
    <html>
    <head>
        <title>用户表</title>
    </head>
    <style type="text/css">
        table{
            border: 1px solid #DCDCDC;
        }
        table td{
            border: 1px solid #DCDCDC;
        }
    </style>
    <body>
        <table style="margin: 0 auto;">
            <thead>
                <tr>
                    <td>id</td>
                    <td>用户名</td>
                    <td>用户密码</td>
                    <td>操作</td>
                </tr>
            </thead>
            <tbody>
                <volist name="data" id="row">
                    <tr>
                        <td>{$row.id}</td>
                        <td>{$row.username}</td>
                        <td>{$row.userpwd}</td>
                        <td>
                            <a href="/CloudCrypt/index.php/Home/User/del?id={$row.id}">删除</a>|
                            <a href="/CloudCrypt/index.php/Home/User/modify?id={$row.id}">修改</a>
                        </td>
                    </tr>
                </volist>
            </tbody>
        </table>
        <div style="margin: 0 auto;">
                <button type="button" onclick="jump();">添加用户</button>   
        </div>
    </body>
    </html>
    • modify视图
    <!DOCTYPE html>
    <html>
    <head>
        <title>修改</title>
    </head>
    <body>
        <form action="/CloudCrypt/index.php/Home/User/update" method="post">
            用户名:<input type="text" value="{$data.username}" name="username"><br>&nbsp;码:<input type="text" name="userpwd" value="{$data.userpwd}"><br>
            <input type="hidden" name="id" value="{$data.id}">
            <button type="submit">提交</button>
        </form>
    </body>
    </html>

    四、添加操作


    在添加操作中,直接给出所有的代码

    • UserContoller.class.php
    <?php
    namespace HomeController;
    use ThinkController;
    class UserController extends Controller {
        public function index(){
            $user = M('User');
            $result = $user->select();
            $this->assign('data', $result);
            $this->display();
        }
    
        public function del()
        {
            $user = M('User');
            $id = $_GET['id'];
            $count = $user->delete($id);
            if($count > 0){
                $this->success("数据删除成功");
            }else{
                $this->error("数据删除失败!");
            }
        }
    
        public function modify(){
            $user = M('User');
            $id = $_GET['id'];
            $result = $user->find($id);
            $this->assign('data', $result);
            $this->display();
        }
    
        public function update(){
            $data['id']=$_POST['id'];
            $data['username'] = $_POST['username'];
            $data['userpwd'] = $_POST['userpwd'];
            $user = M('User');
            $count=$user->save($data);
            if($count>0){
                $this->success('数据修改成功','index');
            }else{
                $this->error("数据修改失败!");
            }
        }
    
        public function add(){
            $this->display();
        }
       
        public function create(){
            $user = M('User');
            $user->username = $_POST['username'];
            $user->userpwd = $_POST['userpwd'];
            $idNum = $user->add();
            if($idNum > 0){
                $this->success("数据添加成功", 'index');
            }else{
                $this->error('数据添加失败', 'index');
            }
        }
    }
    • 视图层
    • index.html
    <!DOCTYPE html>
    <html>
    <head>
        <title>用户表</title>
    </head>
    <style type="text/css">
        table{
            border: 1px solid #DCDCDC;
        }
        table td{
            border: 1px solid #DCDCDC;
        }
    </style>
    <body>
        <table style="margin: 0 auto;">
            <thead>
                <tr>
                    <td>id</td>
                    <td>用户名</td>
                    <td>用户密码</td>
                    <td>操作</td>
                </tr>
            </thead>
            <tbody>
                <volist name="data" id="row">
                    <tr>
                        <td>{$row.id}</td>
                        <td>{$row.username}</td>
                        <td>{$row.userpwd}</td>
                        <td>
                            <a href="/CloudCrypt/index.php/Home/User/del?id={$row.id}">删除</a>|
                            <a href="/CloudCrypt/index.php/Home/User/modify?id={$row.id}">修改</a>
                        </td>
                    </tr>
                </volist>
            </tbody>
        </table>
        <div style="margin: 0 auto;">
                <button type="button" onclick="jump();">添加用户</button>   
        </div>
        <script type="text/javascript">
        function jump () {
            alert('dd');
            window.location = "/CloudCrypt/index.php/Home/User/add";
        }
        </script>
    </body>
    </html>
    • add.html
    <!DOCTYPE html>
    <html>
    <head>
        <title>用户表</title>
    </head>
    <style type="text/css">
        table{
            border: 1px solid #DCDCDC;
        }
        table td{
            border: 1px solid #DCDCDC;
        }
    </style>
    <body>
        <table style="margin: 0 auto;">
            <thead>
                <tr>
                    <td>id</td>
                    <td>用户名</td>
                    <td>用户密码</td>
                    <td>操作</td>
                </tr>
            </thead>
            <tbody>
                <volist name="data" id="row">
                    <tr>
                        <td>{$row.id}</td>
                        <td>{$row.username}</td>
                        <td>{$row.userpwd}</td>
                        <td>
                            <a href="/CloudCrypt/index.php/Home/User/del?id={$row.id}">删除</a>|
                            <a href="/CloudCrypt/index.php/Home/User/modify?id={$row.id}">修改</a>
                        </td>
                    </tr>
                </volist>
            </tbody>
        </table>
        <div style="margin: 0 auto;">
                <button type="button" onclick="jump();">添加用户</button>   
        </div>
        <script type="text/javascript">
        function jump () {
            alert('dd');
            window.location = "/CloudCrypt/index.php/Home/User/add";
        }
        </script>
    </body>
    </html>
    View Code

      

     

  • 相关阅读:
    用SQL SERVER取分组数据第一条:查出每个班级的成绩第一名
    [转]spring beans.xml
    [转]为什么要使用框架
    MySQL 5.6 for Windows 解压缩版配置安装
    [转]hql 语法与详细解释
    [转]slf4j + log4j原理实现及源码分析
    [转]最详细的Log4j使用教程
    yii2 checkbox 的使用实例
    Magento Order 状态详解
    yii2 设置多个入口文件
  • 原文地址:https://www.cnblogs.com/xidongyu/p/5563247.html
Copyright © 2011-2022 走看看