我已經下載了Flot library,並一直玩。jquery Flot從經典的ASP數據庫
我瞭解Flot庫的工作原理以及如何繪製簡單圖形。我正在努力掙扎的是從數據庫中提取數據並將其傳遞到Flot Graph中,以便圖形根據檢索到的數據變爲動態。
我相信你可以使用JSON函數將數據從數據庫傳遞到Flot圖表,但我不知道從哪裏開始,有誰能幫助我嗎?任何示例代碼或建議將不勝感激
我使用傳統的ASP從數據庫中提取數據。
我已經下載了Flot library,並一直玩。jquery Flot從經典的ASP數據庫
我瞭解Flot庫的工作原理以及如何繪製簡單圖形。我正在努力掙扎的是從數據庫中提取數據並將其傳遞到Flot Graph中,以便圖形根據檢索到的數據變爲動態。
我相信你可以使用JSON函數將數據從數據庫傳遞到Flot圖表,但我不知道從哪裏開始,有誰能幫助我嗎?任何示例代碼或建議將不勝感激
我使用傳統的ASP從數據庫中提取數據。
有幾件事你必須看看。第一個JSON。你需要知道你的JSON字符串的結構。舉例來說,你可以這樣創建一個JSON字符串:
{"name":"Tom", "sales":200}
,或者如果它有很多名字和銷售,然後使用數組是這樣的:
{"names":["Tom", "Harry"], "sales":[200, 100]}
然後在JavScript訪問這些值...假設你有JSON對象是這樣的:
var myJSON = {"names":["Tom", "Harry"], "sales":[200, 100]};
document.write(myJSON.names[0]); //print out Tom
document.write(myJSON.sales[0]); //200
既然你想使用AJAX來得到這個JSON對象,那麼你可以創建一個ASP頁,簡單地以正確的格式返回一個JSON字符串。例如:
Set rs = Conn.Execute("SELECT name, sales FROM employees")
If Not rs.EOF Then
Response.Write "{'names':["
Do Until rs.EOF
Response.Write rs("name")
Response.Write ","
rs.MoveNext
Loop
rs.Close : Set rs = Nothing : Conn.Close : Set Conn = Nothing
Response.Write "]}"
%>
聲明:這不是測試代碼,我近10年來沒有寫過經典的ASP!例如,確保最後一個,不會打印等。
現在,this link有一些使用AJAX加載數據並更新圖形的示例。因此,您必須修改URL以指向生成JSON字符串的asp頁面,並修改onDataRecieved函數以根據您自己的結構添加數據。
我希望這會有所幫助。
我不確定動態是否意味着「實時更新」(AJAX)。如果情況並非如此,那麼以下示例應該可以幫助您開始使用flot和經典ASP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Example</title>
<!--[if IE]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]-->
<script language="javascript" type="text/javascript" src="jquery.js"></script>
<script language="javascript" type="text/javascript" src="jquery.flot.js"></script>
</head>
<body>
<div id="placeholder" style="width:600px;height:300px;"></div>
<script id="source" language="javascript" type="text/javascript">
$(function() {
var d1 = [];
<%
SET ac = Server.CreateObject("ADODB.Connection")
ac.Open "driver={sql server}; server=localhost; database=db_name; uid=user; pwd=secret"
SET rs = Server.CreateObject("ADODB.Recordset")
SET rs = ac.Execute("SELECT data_x, data_y FROM data_log")
FOR EACH field IN rs.Fields
Response.Write "d1.push([" & field.data_x & ", " & field.data_y & "]);"
NEXT
%>
$.plot($("#placeholder"), [d1]);
});
</script>
</body>
</html>