根據積分算出百分比。
$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');
銅_______銀_________金________鑽