1

我是一个完整的 PHP 新手(因为我在两周前写了第一行,所以我可能看不到我面前的内容)。

我正在为我的一个项目制作条形图。我有一个表(show_score),得分为 10(列:score)和一个 show_id(列 show_id)。

我需要 show_id 的分数:

$conn = new PDO('mysql:host=localhost;dbname=mytvbox', $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   
$stmt = $conn->prepare('SELECT * FROM show_score WHERE show_id = 40');
$stmt->execute(array('show_id' => $show_id));


$count = $stmt->rowCount();
echo $count. "number of scores<br>"; 

然后我需要每个数字的分数以及它在总分数中所占的百分比(这里是 8)

$stmt = $conn->prepare('SELECT * FROM show_score WHERE show_id = 40 AND score = 8');
$stmt->execute(array('show_id' => $show_id));


$countscore_8 = $stmt->rowCount();
echo $countscore_8 . "number of 8<br>";   //nombre total de 8 sur la serie 


if ($countscore_8 == 0)  //if no score then no pixels for you
{ echo "0px"; }
else {


$division = $countscore_8 / $count; //finding ration
$percentage = $division * 100;  //finding percentage of score 8
$pixels = 180;   //base pixels
$finalpixels = ($percentage / 100) * $pixels; 
echo $finalpixels . "px"; //number of pixels in the bar
}

我的问题是我必须查询每个分数才能找到图表中条形的像素数。有没有办法在单个查询中输出每个分数的百分比?

为了更清楚一点,让我们假设我的表有这个:

show_id = 40, score = 5
show_id = 40, score = 5
show_id = 40, score = 10
show_id = 40, score = 10

我需要

score 1:  0% / 0px
score 2:  0% / 0px
score 3:  0% / 0px
score 4:  0% / 0px
score 5: 50% / 90px
score 6:  0% / 0px
score 7:  0% / 0px
score 8:  0% / 0px
score 9:  0% / 0px
score 10:50% / 90px

希望这在某种程度上是有道理的。

4

0 回答 0