根据积分算出百分比。
$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');
铜_______银_________金________钻