2010-07-22 34 views
2

即時通訊和flot圖形相當新,但我得到的一般想法。 這是我的場景: 我從一個設備接收數據,其中我把它放入mysql數據庫。 我說錯了,新的數據會替換數據庫中的現有數據嗎? 然後我需要在圖表上繪製圖表,我如何獲取(存儲)舊值,以便將這些數據放入此行中?MYSQL數據+ PHP到FLOT圖形

$(function() { 
    var d4 = [[36,37],[50,51],null,[23,24],[18,17]]; 
    $.plot($("#placeholder"), [d4]); 
    }); 

如果沒有,我將只獲得當前數據......和那不給我一個行..它會給我的數據點哈哈 感謝您的幫助!

+1

我想你需要給我們更多的開始,你問的一些非常一般的問題。你如何接收數據?你知道多少MySQL?在某些情況下,您應該擺脫舊數據和一些應該存儲的位置。我認爲這個問題需要縮小到一點。 – 2010-07-22 07:36:36

+0

感謝您的回覆, 我正在從計算CO2,溫度的設備接收數據。然後它使用一個c程序來更新mysql數據庫。 我想我知道基本的MySQL,創建,插入,更新,下降...我想我最直接的問題是你可以創建一個表內的MySQL,我想提取的值(的二氧化碳讀數)和將它們放在上面的函數中。 感謝您的幫助:) – Sunny 2010-07-22 07:57:50

+0

我現在得到它,我正在尋找「插入」而不是「更新」 – Sunny 2010-07-22 09:22:55

回答

0

首先,您需要爲可以動態重新創建的圖表設置舞臺。爲此,請抓住您的容器,然後啓動對包裝數據的腳本的ajax調用。在ajax成功調用中,在函數中捕獲腳本的結果並將其發送給像resetGraph這樣的方法,該方法將根據數據庫中找到的新信息重置圖形。

var dataview = $("#placeholder"); 
$.ajax({ 
    url: "index.php", 
    data: "stuff&junk&things", 
    method: 'GET', 
    dataType: 'json', 
    success: function(msg){ 
     resetGraph(msg); 
    } 
}); 

function resetGraph(data){ 

    plot = $.plot(dataview, data.data, { 
     points: { show: true, radius: 5 }, 
     xaxis: { ticks: data.ticks, tickSize: 7 }, 
     yaxis: {labelHeight: 2} 
    }); 

} 

你的腳本應該使用必要的信息填充數組然後json_encoding,然後再發送回Jquery。例如,

echo json_encode( 
    array( 
     "data" => array(
      array("data" => array(1,2,3)) 
     ), 
     "ticks" => array(2, "two") 
    ) 
);