我是Php的初学者。 我需要将饼图放在脚本中(我没有创建),将它连接到数据库并使其计算数据。 要创建饼图,我使用PhpGraphLib。 之前我已经制作了一些简单的图表并将它们放入了脚本中 - 它很成功。对于那些图表,只需要从数据库中绘制数据,但对于饼图,我需要总结某些列并将其显示在图表上。此外,我无法访问数据库,但我使用的脚本之前已经连接到数据库(因为脚本绘制了显示所有数据的表。该表是关于活动的。表中显示的数据是:日期;总互动; 3列显示该特定答案的参与次数和总参与列(总计所有3列答案))
因此,我需要创建的饼图是关于广告系列问题的答案。它假设将每个答案列相加并显示在图表中。
我不确定应该使用哪些词来制作总和公式。以及如何编写正确的和公式。
你能帮我解决这个问题。脚本是:
<?php
$i=0;
$graph1=array(); //the create a first two graphs
$graph2=array();
$sql3 = "SELECT ci.timestamp, sum(ci.total) as ttotal FROM tbl_campaign_impression ci WHERE ci.cpg_id = $cid GROUP BY ci.timestamp";
//echo "<br/>".$sql3;
$result3 = $conn->query($sql3);
if ($result3->num_rows > 0) {
// output data of each row
while($row3 = $result3->fetch_assoc()) {
$ci_timestamp = $row3["timestamp"];
$ci_impression = $row3["ttotal"];
?>
<tr>
<td align="center" valign="middle" class="bor_top_drk"><strong><?php echo $ci_timestamp; ?></strong></td>
<td align="center" valign="middle" class="bor_top_drk"><?php echo $ci_impression;?><br /></td>
<?php
$inrow_engagement = 0;
if(isset($c_answer_arr))
{
for($i=0; $i<count($c_answer_arr); $i++)
{
$sql4 = "SELECT count(ce.id) as countans FROM tbl_campaign_engagement ce WHERE ce.value = ".$c_answer_arr[$i]." AND ce.timestamp >= '".$ci_timestamp." 00:00:00' AND ce.timestamp <= '".$ci_timestamp." 23:59:59'";
//echo "<br/>".$sql4;
$result4 = $conn->query($sql4);
if ($result4->num_rows > 0) {
while($row4 = $result4->fetch_assoc()) {
echo "<td align=\"center\" valign=\"middle\"class=\"bor_top_drk\">".$row4["countans"]."<br /></td>";
$inrow_engagement += $row4["countans"];
}//end row4
}//end result4
}//end for
}
echo "<td align=\"center\" valign=\"middle\"class=\"bor_top_drk\">".$inrow_engagement."<br /></td>";
?>
</tr>
<?php
$total_imp += $ci_impression;
$total_ans += $inrow_engagement;
}//end row3
}//end while result3
//JSON Encode $graph in order to parse to graph generation script
$data_str1 = urlencode(json_encode($graph1));
$data_str2 = urlencode(json_encode($graph2));
$data_str3 = urlencode(json_encode($graph3));
$conn->close();
//Constructing array for graph drawing
$graph1[$ci_timestamp] = $ci_impression;
$graph2[$ci_timestamp] = $inrow_engagement;
* P.S:脚本使用总和公式来计算每天的总参与度,而我需要一个总时间的答案总和。