根据积分算出百分比。
$info = levelstep($gradeinfo,$info["mem_gradepoint"]); /** *用户等级比例 */ public function levelstep($info, $point){ $L = $info["mg_level"]; // 阶段数 $M = $info["mg_end"]; // 阶段最大值 $Z = $info["mg_start"]; // 阶段底值 $D = $point; $F = $info["mg_rate"]; // 分阶段数 return sprintf("%.4f",(($D-$Z)/($M-$Z) + $L)/$F); }
-- ---------------------------- -- Table structure for grade -- ---------------------------- DROP TABLE IF EXISTS `grade`; CREATE TABLE `grade` ( `mg_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id', `mg_name` varchar(255) DEFAULT '' COMMENT '名称', `mg_point` int(11) DEFAULT '0' COMMENT '所需等级值', `mg_start` int(11) DEFAULT '0' COMMENT '起始值', `mg_end` int(11) DEFAULT '0' COMMENT '结束值', `mg_level` int(11) DEFAULT '0' COMMENT '等级,不显示的为0,一级为0', `mg_rate` int(11) DEFAULT '0' COMMENT '分格数量', `mg_ico` varchar(255) DEFAULT '' COMMENT '图标', `mg_note` varchar(255) DEFAULT '' COMMENT '简介', `mg_sort` int(11) DEFAULT '0' COMMENT '排序', `mg_state` int(11) DEFAULT '0' COMMENT '状态', PRIMARY KEY (`mg_id`) ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='会员等级体系表'; -- ---------------------------- -- Records of grade -- ---------------------------- INSERT INTO `grade` VALUES ('1', '注册会员', '0', '0', '0', '0', '3', '', '', '0', '0'); INSERT INTO `grade` VALUES ('2', '铜牌会员', '1', '1', '200000', '0', '3', '', '', '0', '0'); INSERT INTO `grade` VALUES ('3', '银牌会员', '200000', '200000', '1000000', '1', '3', '', '', '0', '0'); INSERT INTO `grade` VALUES ('4', '金牌会员', '1000000', '1000000', '3000000', '2', '3', '', '', '0', '0'); INSERT INTO `grade` VALUES ('5', '钻石会员', '3000000', '3000000', '9000000', '3', '3', '', '', '0', '0');
铜_______银_________金________钻