无法在折线图中动态显示数据

时间:2012-12-04 11:25:40

标签: javascript jquery

我正在使用google-api获取折线图。在jsp页面中,我正在以这种方式实现:但无法获取值,我的查询运行正常,但无法动态运行,实际上是按照此链接:enter link description here

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
<% 
Connection con = null;
Statement stmt = null;

con = LoginDB.createConnection();
stmt = con.createStatement();
String sql="select Day(date) as regDate,count(name) as NoOfReg from info where DATE(date) > DATE_SUB(curdate(),interval 365 day)group by regDate order by date asc;";
ResultSet rs = stmt.executeQuery(sql);  
%>

<% while(rs.next()){ %>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
  var data = google.visualization.arrayToDataTable([
    ['regDate', 'Registration'],
    ['<%= rs.getString(1)%>',  <%= rs.getString(2)%>]
  ]);

  var options = {
    title: 'No of Registration per Day'
  };

  var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
  chart.draw(data, options);
}
</script>

任何意见都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

试试这个

    <script type="text/javascript">
            var data = "";
            <% while(rs.next()){ %>
                  data += ""+['<%= rs.getString(1)%>',  <%= rs.getString(2)%>]+","
            <% } %>
    </script>

    <script type="text/javascript">
            google.load("visualization", "1", {packages:["corechart"]});
            google.setOnLoadCallback(drawChart);
            function drawChart() {
                    var data = google.visualization.arrayToDataTable([
                                      ['regDate', 'Registration'],
                                      data
                               ]);

                    var options = {
                            title: 'No of Registration per Day'
                            };

                    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
                    chart.draw(data, options);
            }
    </script>