Thinkphp のフィールドの値を増減する関数

WBOY
リリース: 2016-06-13 13:16:49
オリジナル
777 人が閲覧しました

Thinkphp
のフィールド値の増加または減少関数

Thinkphp のフィールド値の自動インクリメントまたはデクリメント機能を使用して、記事のビュー数を増やすことができます

/**
 +----------------------
 * 某个字段值自增或自减
 +----------------------
 * @access 
 +----------------------
 * @param string $model 数据表名称
 * @param string $fields 自增或自减字段名称
 * @param integer $value 自增或自减量,默认为1
 * @param boolean $type 布尔值,默认为true自增,为false自减
 +----------------------
 * @return void
 +----------------------
 */
function autoed($id = '',$model = '', $fields = '', $value = '', $type = true) {
	if(!empty($fields)) {
		if(empty($model)) {
			$name = $this->getActionName();	
		} else {
			$name = $model;	
		}
		$model = M($name);
		//默认为主键ID
		$pk = $model->getPk();
		//默认自增自减量为1
		$value = !empty($value) ? $value : 1 ;
		//默认为true时是自增,为false时自减
		$type = $type ? "Inc" : "Dec" ;
		switch($type) {
			case "Inc":
				$model->setInc("$fields", "$pk=$id", $value);
				break;
			case "Dec":	
				$model->setDec("$fields", "$pk=$id", $value);
				$list = $model->field("$fields")->where("$pk=$id")->find();
				if($list[$fields] <= 0){
					$model->where("$pk=$id")->setField("$fields",0);
				}
				break;
		}
	}
}
ログイン後にコピー
?
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!