jquery Flot из базы данных в классическом ASP - PullRequest
2 голосов
/ 17 декабря 2009

Я скачал библиотеку Flot , и я поиграл.

Я понимаю, как работает библиотека Flot и как рисовать простые графики. Бит, с которым я борюсь, - это извлечение данных из БД и передача их во Флот-граф, чтобы граф стал динамическим в зависимости от извлеченных данных.

Я полагаю, что вы можете передавать данные из БД в график Flot, используя функцию JSON, но я не знаю, с чего начать, может кто-нибудь помочь мне, пожалуйста? Любой пример кода или совет будет высоко ценится

Я использую классический ASP для извлечения данных из БД.

Ответы [ 2 ]

4 голосов
/ 18 декабря 2009

Я не уверен, что под динамическим вы подразумеваете «обновление в реальном времени» (AJAX). Если это не так, то следующий пример должен помочь вам начать работу с flot и classic 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>
2 голосов
/ 18 декабря 2009

Есть несколько вещей, на которые вы должны посмотреть. Первый 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 почти 10 лет! Например, убедитесь, что окончательный вариант не напечатан и т. Д.

Теперь, эта ссылка содержит несколько примеров загрузки данных в AJAX и обновления графика. Поэтому вам нужно изменить URL-адрес, чтобы он указывал на вашу страницу asp, которая генерирует строку JSON, и измените функцию onDataRecceive, чтобы добавить данные в соответствии с вашей собственной структурой.

Надеюсь, это немного поможет.

...