Javascript 从数据库中获取数据并将其插入折线图中
我在mysql数据库中有数据,我想用折线图绘制它我在用highcharts,我想把这些数据插入数组, 我正在使用这段代码,问题是数据不会显示在图形中,请帮助我plzJavascript 从数据库中获取数据并将其插入折线图中,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">
<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个值