放置饼图并通过php计算数据库中的数据

时间:2016-05-15 11:52:33

标签: php mysql

我是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:脚本使用总和公式来计算每天的总参与度,而我需要一个总时间的答案总和。

0 个答案:

没有答案