[英]Use php "loop if" in js script - google chart
我有一个 php 网站,我需要添加一个谷歌图表 - 所以这是我使用 js 的第一步。 我有以下问题:
我需要更改 php 代码的原始函数 drawVisualization() 。
你能检查一下并建议我哪里出错了吗?
原始代码:
<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawVisualization);
function drawVisualization() {
// Some raw data (not necessarily accurate)
var data = google.visualization.arrayToDataTable([
['data', 'zysk/strata', 'Average'],
['2019-09-05',9.32,9.32],
['2019-09-06',10.88,10.1],
['2019-11-29',-7.86,4.1133333333333],
['2019-11-29',-43.61,-7.8175],
['2019-11-29',44,2.546],
['2019-11-29',4.71,2.9066666666667],
]);
var options = {
title : 'Trend ostatnich 10 transakcji',
vAxis: {title: 'Zysk/Strata'},
hAxis: {title: 'Data'},
seriesType: 'bars',
series: {1: {type: 'line', color: 'black'}} };
var chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
</body>
</html>
更改后我的代码:
<?php
require("zamkniete.php");
$cos='';
if ($lp22 >= 10){$ost10=$lp22-9;}else{$ost10=0;} //show only last 10 prices
for ($x=$ost10; $x <= $lp22; $x++){
if($x==0){$to=$zyskpop[$x];}else{$to=($zyskpop[$x]/($x+1));}
$cosbefore.= "['".$datatab[$x]."',".$zysktab[$x].",".$to."],</br>";
};
$cosafter = "[['data', 'zysk/strata', 'Average'],</br>".$cosbefore."]";
//echo $cosafter;
/*
FYI how $cosafter looks like:
[['data', 'zysk/strata', 'Average'],
['2019-09-05',9.32,9.32],
['2019-09-06',10.88,10.1],
['2019-11-29',-7.86,4.1133333333333],
['2019-11-29',-43.61,-7.8175],
['2019-11-29',44,2.546],
['2019-11-29',4.71,2.9066666666667],
]
*/
?>
<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawVisualization);
var coss = "<?php echo $cosafter; ?>";
function drawVisualization() {
// Some raw data (not necessarily accurate)
var data = google.visualization.arrayToDataTable(coss);
var options = {
title : 'Trend ostatnich 10 transakcji',
vAxis: {title: 'Zysk/Strata'},
hAxis: {title: 'Data'},
seriesType: 'bars',
series: {1: {type: 'line', color: 'black'}} };
var chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
</body>
</html>
主要代码:
<?php
require("zamkniete.php");
$cos='';
$data=array();
//if ($lp22 >= 10){$ost10=$lp22-9;}else{$ost10=0;}
//for ($x=$ost10; $x <= $lp22; $x++){
for ($x=0; $x <= $lp22; $x++){
if($x==0){$to=$zyskpop[$x];}else{$to=($zyskpop[$x]/($x+1));}
$dataa=date("d-m", strtotime("$datatab[$x]"));
$data[] =
array(
'data' => $dataa,
'zysk/strata' => $zysktab[$x],
'średnia' => $to,
);
};
//var_dump($data);
# our converstion function given above.
function convertDataToChartForm($data)
{
$newData = array();
$firstLine = true;
foreach ($data as $dataRow)
{
if ($firstLine)
{
$newData[] = array_keys($dataRow);
$firstLine = false;
}
$newData[] = array_values($dataRow);
}
return $newData;
}
// <div id="chart_div2" style="width: 900px; height: 500px;"></div>
?>
<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawVisualization);
function drawVisualization() {
// Some raw data (not necessarily accurate)
var data = google.visualization.arrayToDataTable((<?= json_encode(convertDataToChartForm($data)); ?>));
var options = {
title : 'zysk per transakcja',
vAxis: {title: 'zysk/strata [PLN]'},
hAxis: {title: 'data transakcji'},
seriesType: 'bars',
series: {
0: {color: '#F1E0B0'},
1: {type: 'line', color: '#ECBE7A'}} };
var chart = new google.visualization.ComboChart(document.getElementById('chart_div2'));
chart.draw(data, options);
}
</script>
</head>
</html>
如何显示图表
<div class="rwd-table">
<center><?php require("wykrestrend_dziala.php"); ?> <div id="chart_div2" style="width: 900px; height: 500px;"></div></center>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.