簡體   English   中英

從經典ASP中的數據庫進行jquery Flot

[英]jquery Flot from a database in classic ASP

我已經下載了Flot庫 ,並且一直在玩耍。

我了解Flot庫的工作原理以及如何繪制簡單圖形。 我苦苦掙扎的一點是從數據庫中提取數據,並將其傳遞到Flot Graph中,以便該圖根據所檢索的數據而變得動態。

我相信您可以使用JSON函數將數據從數據庫傳遞到Flot Graph中,但是我不知道從哪里開始,有人可以幫我嗎? 任何示例代碼或建議將不勝感激

我正在使用經典的ASP從數據庫中提取數據。

我不確定動態是指“實時更新”(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>

您必須注意幾件事。 第一個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 "]}"
%>

免責聲明:這不是經過測試的代碼,近十年來我還沒有編寫經典的ASP! 例如,確保未打印final,等等。

現在, 此鏈接提供了一些使用AJAX加載數據和更新圖形的示例。 因此,您必須修改URL以指向生成JSON字符串的asp頁面,並修改onDataRecieved函數以根據自己的結構添加數據。

希望這會有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM