zoukankan      html  css  js  c++  java
  • 2016/05/13 Thinkphp 3.2.2 ①数据添加 ②收集表单数据入库操作 ③数据修改操作

    ①数据查询

    add() 该方法返回被添加的新记录的主键id

    两种方式实现数据添加

    1. 数组方式数据添加

    $goods = D(“Goods”);

    $arr = array(‘goods_name’=>’iphone5s’,’goods_weight’=>’109’);

    //注意:goods_namegoods_weight是数据表中字段名称

    $goods -> add($arr);

      2. AR方式实现数据添加

    a) ActiveRecord  活跃记录

    b) AR规定了程序与数据库之间的关系

    c) 什么是AR

    d) ① 一个数据表对应一个类model

    e) ② 一条数据记录对应类的一个对象

    f) ③ 每个字段对应该对象的具体属性

    g) tp框架的AR是假的

    $goods = D(“Goods”);

    $goods -> goods_name = “htc_one”;

    $goods -> goods_price = 3000;

    $goods -> add();

    以上两种方式:数组、AR,最后add都要把新记录的主键id值返回

    ②收集表单数据入库操作

    1. 制作一个表单
    2. 通过$_POST收集信息
    3. 通过create()方法实现数据收集,该方法对于非法的字段会自动进行过滤

    注意:一个add控制器实现两个逻辑,一个是打出添加页面,一个是向数据库添加内容

    注意:如果是主键值重复,这种错误会导致error()方法不跳转页面直接抛出错误信息,这是新版本问题,如果想要跳转,找到

    ③ 数据修改操作

    save()  实现数据修改,返回受影响的记录条数

    具体有两种方式实现数据修改,与添加类似(数组、AR方式)

    1. 数组方式

    a) $goods = D(“Goods”);

    b) $ar = array(‘goods_id’=>100,‘goods_name’=>’lenovo手机’,’goods_price’=>1200);

    c) $goods ->where(‘goods_id>50’)-> save($ar);

    1. AR方式

    a) $goods = D(“Goods”);

    b) $goods -> goods_id = 53;

    c) $goods -> goods_name = “三星手机”;

    d) $goods -> goods_price = 2000;

    e) $goods -> where(‘goods_price>10000’)->save();

    以上两种方式如果可行,即要修改全部数据

    以上sql语句从技术上可行,从业务上不可行(事故)

    tp框架有智能考虑,以上情况的sql语句不被允许执行。

    如何执行:

    ① 明确告诉系统那条sql语句被update更新

    ② 可以设置where进行sql语句更新操作

    save()  方法返回值

    0:之前没有问题,执行前后数据没有变化

    自然数:受影响的记录条数

    false:执行失败

    数据修改具体实现

    通过路由给一个操作方法传递参数

    http://网址/index.php/模块/控制器/方法upd/变量名1//变量名2//变量名3/ 

    以上路由是通过get形式给指定的操作传递了三个参数信息

    $_POST方式也可以

    原则三个参数信息接收的时候通过$_GET接收即可

    例如:$_GET[‘变量名1’];   

    以上参数信息接收太直白,不安全,需要按照框架规则使用下边的方式接收get参数信息

    http://网址/index.php/Admin/Goods/upd/name/tom/age/25/addr/beijing

    function upd($name,$age,$addr){

    $name;

    $age;

    $addr;

    }

    以上参数表述,如果在请求的时候没有按照规则传递参数,那么当前方法禁止访问。

    (除非参数有默认值)

    修改商品信息步骤:

    1. 在“修改”按钮处把被修改商品id信息通过get形式传递给upd操作
    2. upd方法里边制作形式参数$goods_id,接收服务器给传递的get变量goods_id
    3. 在修改表单里边制作隐藏域goods_id,避免tp框架禁止修改语句执行
    4. upd操作方法内部有两个逻辑:展现表单、收集表单

  • 相关阅读:
    Mongodb新增的聚合方法及其Java客户端
    转载:mongoDB java驱动学习笔记
    笔记:Java反射以及动态代理
    转载:在恰当的地方使用MongoDB的WriteConcern.SAFE参数
    去Oracle事件(转)
    笔记:J2EE核心模式(待补充)
    笔记:MongoDB 基础学习
    转载:PostgreSQL SQL的性能调试 方法3-- 查 看 执 行 计 划
    转载: PostgreSQL SQL的性能调试方法2--数据库log分析
    matlab怎么设置默认路径
  • 原文地址:https://www.cnblogs.com/haodayikeshu/p/5488419.html
Copyright © 2011-2022 走看看