我是一个完整的PHP新手(就像我在两周前写的第一行一样,所以我可能看不到我面前的情况)。
我正在为我的一个项目做条形图。我有一个表(show_score),得分为10(列:得分)和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
希望这有点道理。