我目前正在开发一个体验栏,而且我已经坚持了最后一步。我从数据库中提取当前用户信息(用户ID,xp值,组ID),然后使用两个CSS样式的div在进度条中显示用户进度。我坚持的部分是变量$ fullBar不是静态量。我在Joomla中使用用户组设置了调平系统。如果当前用户组id = 10,$ fullBar = 9.如果用户组id = 11,$ fullBar应该是10-99的范围。如果当前用户组id = 12,$ fullBar应该是100-999的范围。基本上,根据用户的级别,根据更改计算百分比的数量。我已尝试对id为12的用户使用$ userXp /(999-100)* 100等计算,但是,如果用户xp接近999,则实际返回的值大于100 %。我不是最好的数学,所以如果有人能指出我正确的方向,我将不胜感激。
<div id="xpBar">
<?php
$user = JFactory::getUser();
$userId = $user->id;
$userXp = $user->userxp;
$groups = $user->get('groups');
foreach($groups as $group);
$fullBar = 999;
$percentage = function($userXp, $fullBar, $precision)
{
$res = round( ($userXp / $fullBar) * 100, $precision );
return $res;
};
?>
<div id="percent" style="width: <?php echo $percentage($userXp, $fullBar, 0); ?>%"></div>
</div>