zoukankan      html  css  js  c++  java
  • ThinkPHP 数据库增删改操作

    <form action="__ACTION__" method="post">
        <div>代号:<input type="text" name="Code"/></div>
        <br/>
        <div>姓名:<input type="text" name="Name"/></div>
        <br/>
        <div>性别:
            <input type="radio" name="Sex" value="1"/>男
            <input type="radio" name="Sex" value="0"/>女
        </div>
        <br/>
        <div>民族:
            <select name="Nation">
                <foreach name="arr" item="v">
                    <option value="{$v.code}">{$v.name}</option>
                </foreach>
            </select>
        </div>
        <br/>
        <div>生日:<input type="text" name="Birthday"/></div>
        <br/>
        <input type="submit" value="添加"/>
    </form
    

      视图index.html 代码如上,效果:

             

                                                                          

    数据表:

                      

    增删改都有三种方法:

    1.数组添加

    2.映射添加

    <?php
    namespace HomeController;
    use ThinkController;
    class IndexController extends Controller {
         
        public function add(){
            $db = D("Info");
            //1.数组方式
            $arr =
            array("Code"=>"p005","Name"=>"随便"
            ,"Sex"=>1,"Nation"=>"n003","Birthday"=>"1999-02-03");
            $db->add($arr);
            //2.映射方式
            $db->Code = "P006";
            $db->Name = "测试";
            $db->Sex = 1;
            $db->Nation = "C004";
            $db->Birthday = "1996-03-04";
            $db->add();
        }
    }
    

      3.自动收集表单:

      根据数据表中对应字段收集数据,所以前台页面表单对应的name要与数据表中的字段对应

    public function add(){
            $db = D("Info");
            //3.自动收集表单
            if(empty($_POST)){
                $arr = $db
                ->table("Nation")
                ->select();
                $this->assign("arr",$arr);
                $this->show();
            }else{
                 
                $db->create();//收集表单
                $db->add();
            }
        }
    }
    

      总体来看,第3种自动收集方式最方便。

      修改同理,将最后的$db->add();改成$db->save();

      

     public function update(){
             
            $db = D("Info");
            $code = "p002";
            if(empty($_POST)){
                 
                $nation = $db
                ->table("Nation")
                ->select();
                 
                $info = $db
                ->find($code);
                 
                $this->assign("info",$info);
                $this->assign("nation",$nation);
                $this->show();
            }else{
                $db->create();
                $db->save();
            }
        }
    

      

      删除数据:

    public function del(){
            //$code = "p006";
            $db = D("Info");
            //$db->delete($code);
            $sql = "delete from info where code = 'p004'";
            $db->execute($sql);
            //tp框架也适用sql原生语句,增删改用execute方法执行 ,查数据用query方法执行
        }
    }
    

      

  • 相关阅读:
    Vim插件列表
    比nerdtree更好的文件浏览器:vimfiler
    在不同的窗口之间跳转
    unite
    ARMv7 .n和.w指令宽度指示符后缀
    Mybatis之分表设计与分表插入
    thymeleaf之菜单树
    管理后台菜单查询
    Linux下Tomcat重新启动
    网页缓存清除
  • 原文地址:https://www.cnblogs.com/rose1324/p/8583303.html
Copyright © 2011-2022 走看看