2016-03-25 50 views
0

首先,我有一個存儲表如下:PHP數組到圖形

表名:商店

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 s1var 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 變量s1勾號)。

回答

1
<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); ?>]; 
     [...] 
+0

感謝您的回覆,我已經嘗試了您的答案,但圖表根本沒有顯示出來。 –

+0

順便說一句,s1應該是出售,並蜱商店名稱。我只嘗試過s1,總銷售價格顯示出來,但看起來y軸上的數字是相互重疊的。也許數組中的數據本身不正確? –

+0

我已將我的代碼反轉以反映您的評論。如果您查看網頁的源代碼,那麼PHP的值是否正確打印? – Technoh