2011-07-21 120 views
0

我試圖從數據庫中讀取數據,使用php(mySQL),然後讓它們在flot中的圖上顯示。我知道值正確讀取,我沒有得到任何錯誤,但圖形不會顯示。 幫助不大?在Flot圖上顯示數據庫中的值(使用mySQL)

在此先感謝。

<?php 
while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    $graphdata[] = array((int)$row[0], (int)$row[1]); 
} 
?> 
///// 

<div id="placeholder" style="width:600px;height:300px"></div> 

<script language="javascript" type="text/javascript"> 

var dataset1 = <?php echo json_encode($graphdata);?>; 
var data = [ 
      { 
       label: "Random Values", 
       data: dataset1 
      } 
     ]; 
var plotarea = $("#placeholder"); 

     $.plot(plotarea , data); 
</script> 

回答

0

儘量延遲,直到DOM被載入創建圖表:

jQuery(document).ready(function ($){ 
    var plotarea = $("#placeholder"); 
    $.plot(plotarea , data); 
}); 
+0

我試過了,但是沒有運氣:( – Jen

+0

你可以發佈一個樣本到jsfiddle嗎?(只需複製你的php的輸出,包括序列化的mysql數據)我會看一下 – Arend

+0

我正在取數據從一個本地數據庫,所以而不是這樣做,我在本地運行它,這裏是輸出http://pastebin.com/HeeuTi4Z這是否有幫助?如果不是,我可以嘗試搞清楚jsfiddle – Jen

1

你的引擎收錄表明您輸出的JSON字符串無效JSON內容。如果它改成

var data = [{ label: "Random Values",data: dataset1}]; 

將驗證:

var data = [{"label": "Random Values","data": "dataset1"}] 

這只是一個例子,但我懷疑海軍報正在尋找一個稍微不同的格式,所以你必須驗證他們」到底是什麼重新尋找他們的文檔。我現在正在使用FusionCharts進行相同的練習,所以我感覺到你的痛苦。 jsonlint.com是您的朋友,輸出您的JSON並經常驗證。我還建議最初讓它工作,首先從你的代碼中正確輸入一串JSON(即使是從他們的例子中複製的一串)開始。先讓圖表工作,然後讓PHP讓你單獨複製示例JSON字符串。

+0

我得到的圖表工作與設置js數組(使用我的原始代碼),然後試圖從數據庫中填充數組,然後它打破了,所以我知道圖表繪圖是正確的。唯一我能想到的問題是在轉換中,但它對我來說很好 – Jen

+1

爲什麼不能您是否從PHP輸出json字符串以及構建字符串的代碼(附加到您的答案中),並且我們可以從那裏刪除它。 – bpeterson76

+1

+1用於調試 – Arend

相關問題