价值API的HTML星级评分

时间:2018-08-10 07:45:53

标签: php html api

自从我使用HTML和PHP以来已有很长时间了。

他们从第三方客户反馈工具中提供了API。很容易从API中提取“幸福值”,并以百分比显示。没事,没事..

<?php include('https://app.customerthermometer.com/api.php?apiKey=********************&getMethod=getHappinessValue'); ?>

我想知道并尝试使用文档中的PHP Includes来实现这一点,并使视图更加丰富多彩。例如;

http://jsfiddle.net/b6tqtaLn/1/

Star-rating with css

将百分比(例如,API的95%)转换为可在星标中看到的值的最佳方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:3)

首先,您需要定义要使用的(最大)星数。

例如,如果您从API中获得的最高价值是100%,并且您使用的是10星,那么这很容易做到。

示例:

$api_percentage_value = '95%'; // Given from API
$converted_percentage_value = (int) $api_percentage_value; // Make it an integer

echo $converted_percentage_value; // outcome = 95 (integer)

/**
 * Personally I would like to have the 'raw' data to be in a string like above.
 * But if you prefer to have it in a single string simply delete the `$api_percentage_value` and drop the API data inside `$converted_percentage_value` right away.
 * But remember you need to add `(int)` before the result. Otherwise it will not be an integer.
 * Also, incase they do deliver only an integer, it might work for some time.
 * But we all know many API developers just change stuff within their output without communication (before and/or after the change).
 * So I prefer to have it split up and make my own validation.
 */

所以,现在我们有一个整数。

假设1星= 10分。

其背后的计算公式为:

95 / 100 = 0,95. * 10. = 9.5 (stars) // Incase 1 star = 20 points: simply do 95 / 200, etc.

-或-

$stars = ($converted_percentage_value / 100) * 10;

echo $stars; // outcome: (int) 9.5

因此,现在您可以显示9.5(或9)颗星星:-)。

$score = floor($converted_percentage_value); // outcome: 9.

现在您可以进行一次foreach了,每次都减去$score ($score--)。一旦$score低于(int) 1,您就可以停止脚本。

您是否知道如何执行此操作? 还是您希望有一个示例代码,以在带有倒计时的foreach中显示星星?

答案 1 :(得分:1)

这看起来真的很简单-您只需要将每个数字都当作星号即可。

例如

$value = '95';
$stars = '';

switch($value) {
  case ($value >= '80' && $value <= '100'):
     $stars = '5'
     break;
  case ($value >= '60' && $value <= '79'):
     $stars = '4'
     break;
}