首先,我有一个商店表,如下所示:
表名称:stores
id |name
1 | M1
2 | M2
每个商店被认为是一个表,有自己的商品,售价和数量如下
表名称:M1
id | item | qty | sell_price
1 | z1 | 12 | 5.00
2 | z2 | 15 | 6.00
表名称:M2
id | item | qty | sell_price
1 | z1 | 12 | 5.00
2 | z5 | 25 | 12.00
3 | z6 | 5 | 7.00
现在我想创建一个条形图,通过它我需要查看每个商店的总售价 ( SUM(sell_price)
),如下所示:
Y-axis ( Total Sell_price )
30| _____
25| ____ | |
20| | | | |
15| | | | |
0|_|____|__|_____|________ X - axis (Store Name )
M1 M2
我创建的 PHP 代码如下:
$query1 = "SELECT name from stores";
$result1 = mysql_query($query1);
if(!mysql_num_rows($result1)>0){
echo "<center><font color=red>No Stores Found !</font></center>";
}
else{
while ($row1 = mysql_fetch_assoc($result1)){
$query = "SELECT *,SUM(sell_price) FROM {$row1['name']}";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
$store[]= $row1['name'];
$sale[] = $row['SUM(sell_price)'];
}
}
条形图 JavaScript - 请注意 var s1
和 var ticks
是需要更改的内容,并从上述 PHP 循环中收集数组
<script class="code" type="text/javascript">$(document).ready(function(){
$.jqplot.config.enablePlugins = true;
var s1 = [200, 888, 645, 1044];
var ticks = ['M1','M7','M9','M10'];
plot1 = $.jqplot('chart1', [s1], {
// Only animate if we're not using excanvas (not in IE 7 or IE 8)..
animate: !$.jqplot.use_excanvas,
seriesDefaults:{
renderer:$.jqplot.BarRenderer,
pointLabels: { show: true }
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
ticks: ticks
}
},
highlighter: { show: false }
});
$('#chart1').bind('jqplotDataClick',
function (ev, seriesIndex, pointIndex, data) {
$('#info1').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data);
}
);
});</script>
现在如您所见,我创建了一个数组 $store
和 $sale
- 不确定它是否是正确的数组,因为我不太熟悉数组。但是我需要找到如何将数组值相应地分配给 javascript vars (s1 和 ticks)。
最佳答案
<script class="code" type="text/javascript">$(document).ready(function(){
$.jqplot.config.enablePlugins = true;
var s1 = ['<?php echo trim( implode( "', '", $sale ), ',' ); ?>'];
var ticks = [<?php echo implode( ', ', $store ); ?>];
[...]
关于PHP 数组到图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36226761/