我正在爲wordpress博客創建升級系統。我相信這個問題更多的是針對Php和數學,而不是wordpress,這就是爲什麼我在這裏問這個問題。簡單的PHP升級進度計算
我希望用戶在評分(或者你可以稱之爲xp)自定義字段達到25的倍數時獲得'等級'()雖然我希望xp要求以指數形式增加,請查看請求# 2,低於)。
我有這個在我的functions.php文件。
function movie_level() {
if (is_single()) {
global $post;
$movie_level = get_post_meta($post->ID, "movie_level", true);
if (!isset($movie_level) OR empty($movie_level) OR !is_numeric($movie_level)) {
$movie_level = 1;
add_post_meta($post->ID, "movie_level", $movie_level);
}
$vmeta = get_post_meta(get_the_ID(), 'ratings_score', true);
$movie_percentage_check = $vmeta/(25*$movie_level) * 100;
if ($movie_percentage_check == 100) {
$new_level = $movie_level + 1;
update_post_meta($post->ID, "movie_level", $new_level);
$update_rating = $vmeta + 1;
update_post_meta($post->ID, "ratings_score", $update_rating);
} return $movie_level;
}
}
它能做什麼是+1按鈕添加到movie_movie水平時收視率達到25
在我的single.php文件我有以下幾點:
$meta = get_post_meta(get_the_ID(), 'ratings_score', true);
$level= movie_level();
$perc = $meta/(25 * $level) * 100;
echo '<div class="progress large-6 small-12 columns "><span class="meter" style="width:'.$perc.'%"><span></span></span></div>';
echo movie_level();
這顯示進度到使用進度條css組件的下一級。
要求
我怎樣才能讓$達到一個新的水平時,在0%再次PERC開始?用我目前的公式,進度條總是會顯示從級別1 - 級別3(例如)開始的進度,而不是級別2 - 級別3.
如何更新我的代碼,以便評級要求以指數級增加每個級別,仍然達到我想要的要求#1
您是否嘗試過完成其他請求?如果有的話,也請顯示該代碼。 – naththedeveloper
如果你想用一個「偏移量」來計算值的百分比,那麼當然你必須從兩個值中減去這個偏移量。假設7級開始於400點,8級爲500點,而用戶目前有471點。 500 - 400是100,471 - 400是71 - 使71%「進入」七級。如果值不是像這個例子中那樣「很好地」選擇的話,則工作原理相同。 – CBroe
你的意思是'(5 * $ level)'在第二個代碼塊中應該是'25'嗎?否則,我很困惑,'5'來自哪裏。 – SpaceDog