ThinkPHP 统计数据(数字字段)更新 setInc 与 setDec 方法
web ThinkPHP 2017-03-28 928 0
关于本站

淘淘IT

记录工作学习中的点点滴滴

本站创建于2017年,用于记录工作和学习中遇到的问题。同时,不断提升网站的使用体验,增加新的功能。

757156 1186 11
最新评论
@xiaoniba 好像是编码GBK和utf-8的区别,请看下我摘抄的一篇文章,里面有介绍http://taotaoit.com/article/details/885.html,你可以尝试下是否可以
评 tp5.1中字段别名是汉字,提示错误:不支持的数据表达式
\x7f-\xff 这个匹配什么东东,会不会出现安全问题??? 改成这样如何 if ($strict && !preg_match('/^[\w\.\*\x{4e00}-\x{9fa5}]+$/u', $key)) {
评 tp5.1中字段别名是汉字,提示错误:不支持的数据表达式
完美解决 牛逼
评 tp5.1中字段别名是汉字,提示错误:不支持的数据表达式
评 tp5.1中字段别名是汉字,提示错误:不支持的数据表达式
完美解决
评 tp5.1中字段别名是汉字,提示错误:不支持的数据表达式
文章标签更多
ThinkPHP (119)
Mysql (25)
DedeCms (28)
jQuery (27)
证件照 (1)
setInc (3)
setDec (3)
onclick (3)
打开边栏(ESC) 关闭边栏(ESC)

ThinkPHP 统计数据更新

ThinkPHP 内置了对统计数据(数字字段)的更新方法:

  1. setInc():将数字字段值增加
  2. setDec():将数字字段值减少

setInc()

ThinkPHP setInc() 方法将数字字段值增加。

例子:

public function update(){
    header("Content-Type:text/html; charset=utf-8");
    $Dao = M("User");

    $result = $Dao->where('uid = 2')->setInc('score',3);

    if($result !== false){
        echo '数据更新成功!';
    }else{
        echo '没更新任何数据!';
    }
}

上面例子执行的 SQL 语句为:

UPDATE user SET score=score+3 WHERE uid = 2

setInc() 方法中最后一个参数为数字字段增加的值,如果省略则默认增加 1 。

setDec()

ThinkPHP setDec() 方法将数字字段值减少。

例子:

public function update(){
    header("Content-Type:text/html; charset=utf-8");
    $Dao = M("User");

    $result = $Dao->where('uid = 2')->setDec('score',3);

    if($result !== false){
        echo '数据更新成功!';
    }else{
        echo '没更新任何数据!';
    }
}

上面例子执行的 SQL 语句为:

UPDATE user SET score=score-3 WHERE uid = 2

setDec() 方法中最后一个参数为数字字段减少的值,如果省略则默认减少 1 。

提示

在 ThinkPHP 3.0 版本中,setInc() 与 setDec() 方法取消了条件参数,因此必须配合 where 方法一起使用。setInc() 与 setDec() 方法也支持连贯操作,从而可以构造更加复杂的更新条件。

版权声明:本篇文章来源于网络。 来源链接

相关推荐
ThinkPHP3.2.3打印sql语句
ThinkPHP | 2018-12-29 1915
方法一 echo M()->getLastSql(); 方法二 echo M()->_sql();
ThinkPHP模板中volist输出数组的键名
ThinkPHP | 2017-04-22 1679
php中输出数组的键名 $arr = array('key1'=>1,'key2'=>2); foreach($arr as $key=>$val) { echo $key; } thinkphp模板中怎么输出数组的键名呢? 错误代码一: <volist name="aboutList"...
评论:0条
评论加载中...
发表评论