Javascript 从数据库中获取数据并将其插入折线图中

Javascript 从数据库中获取数据并将其插入折线图中,javascript,java,mysql,highcharts,Javascript,Java,Mysql,Highcharts,我在mysql数据库中有数据,我想用折线图绘制它我在用highcharts,我想把这些数据插入数组, 我正在使用这段代码,问题是数据不会显示在图形中,请帮助我plz <div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div> <script type="text/javascript">

我在mysql数据库中有数据,我想用折线图绘制它我在用highcharts,我想把这些数据插入数组, 我正在使用这段代码,问题是数据不会显示在图形中,请帮助我plz

<div id="container"
                style="min-width: 310px; height: 400px; margin: 0 auto"></div>
            <script type="text/javascript">
            <%
    String hostdb = "localhost:3306"; // MySQl host
        String userdb = "root"; // MySQL username
        String passdb = "Jenkov31994"; // MySQL password
        String namedb = "akbd"; // MySQL database name

        // Establish a connection to the database
        DriverManager.registerDriver(new com.mysql.jdbc.Driver());
        Connection con = DriverManager.getConnection("jdbc:mysql://" + hostdb + "/" + namedb, userdb, passdb);

        String sql = "SELECT * FROM climdata";
        PreparedStatement pt = con.prepareStatement(sql);
        ResultSet rs = pt.executeQuery();
        ResultSet rsize = rs;
        int i = 0;
        int j = 0;
        while (rsize.next()) {
    j++;
        }

        String cat[] = new String[j];
        int ht[] = new int [j];
        int lt[] = new int[j];
        int at[] = new int[j];

        while (rs.next()) { 

    java.sql.Date date = rs.getDate("dateinsert");
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    String dateStr = dateFormat.format(date);
    cat[i] = dateStr; 
   ht[i] = rs.getInt("hightemp");
   lt[i] = rs.getInt("lowtemp");
   at[i] = rs.getInt("avgtemp");
        i++;
    }
    out.print("chart();");
%>
function chart (){
                Highcharts.chart('container', {
                    chart : {
                        type : 'line'
                    },
                    title : {
                        text : 'daily Temperature'
                    },
                    subtitle : {
                        text : 'ZONE H'
                    },
                    xAxis : {
                        categories :'<%=cat%>'

                },
                    yAxis : {
                        title : {
                            text : 'emperature (C)'
                        }
                    },
                    plotOptions : {
                        line : {
                            dataLabels : {
                                enabled : true
                            },
                            enableMouseTracking : false
                        }
                    },
                    series : [
                            {
                                name : 'MaxTemperature',
                                data : '<%=ht%>'
                            },
                            {
                                name : 'AVGTemperature',
                                data : '<%=at%>'
                            },
                            {
                                name : 'MinTemperature',
                                data : '<%=lt%>'
                            }, ]
                });}
            </script>

功能图(){
Highcharts.chart('容器'{
图表:{
类型:“行”
},
标题:{
文字:“每日温度”
},
副标题:{
文字:“H区”
},
xAxis:{
类别:“”
},
亚克斯:{
标题:{
文字:“温度(C)”
}
},
打印选项:{
行:{
数据标签:{
已启用:true
},
enableMouseTracking:false
}
},
系列:[
{
名称:“MaxTemperature”,
数据:“”
},
{
名称:“平均温度”,
数据:“”
},
{
名称:'MintTemperature',
数据:“”
}, ]
});}

我认为您的代码在
ResultSet rsize=rs行有问题rsize.next()
时,
rs
也是下一个。这样,
while(rs.next())
就没有任何东西可以循环。获取结果集大小的方法有很多,取而代之的是获取结果集大小的方法。如果有错误,您会得到什么?哪里在控制台里?石斑鱼类?这里的细节很关键。对不起,我在eclipse ide中使用javascript和java,我解决了这个问题,我使用arraylist代替了array,但现在我在寻找如何限制X轴中的元素数量,我不希望所有的日子都是最后10天。因此,请将数组修剪为最后10个值。我认为您的代码在
ResultSet rsize=rs行有问题rsize.next()
时,
rs
也是下一个。这样,
while(rs.next())
就没有任何东西可以循环。获取结果集大小的方法有很多,取而代之的是获取结果集大小的方法。如果有错误,您会得到什么?哪里在控制台里?石斑鱼类?这里的细节很重要。对不起,我在eclipse ide中使用javascript和java,我解决了这个问题,我用arraylist代替了array,但现在我在寻找如何限制X轴中的元素数量,我不希望所有的日子都是最后10天将数组修剪为最后10个值