我是一个完整的 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
希望这在某种程度上是有道理的。