Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <%@page import="java.sql.*" %>
- <%@page import="java.util.*" %>
- <%@page import="org.json.JSONObject" %>
- <%
- Connection con= null;
- try{
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sentimentposts?autoReconnect=true&useSSL=false","root","root");
- ResultSet rs1 = null;
- ResultSet rs2 = null;
- List opdetails = new LinkedList();
- JSONObject responseObj = new JSONObject();
- String query1 = "select poster_gender, count(*) as gender_count from post group by poster_gender";
- PreparedStatement pstm1= con.prepareStatement(query1);
- String query2 = "select poster_location, count(*) as location_count from post group by poster_location";
- PreparedStatement pstm2= con.prepareStatement(query2);
- rs1 = pstm1.executeQuery();
- rs2 = pstm2.executeQuery();
- JSONObject opObj = new JSONObject();
- while (rs1.next()) {
- String gender = rs1.getString("poster_gender");
- System.out.println(gender);
- int count = rs1.getInt("gender_count");
- System.out.println(count);
- opObj.put("gender", gender);
- opObj.put("count", count);
- }
- while(rs2.next()){
- String location = rs2.getString("poster_location");
- System.out.println(location);
- int count2 = rs2.getInt("location_count");
- System.out.println(count2);
- opObj.put("location", location);
- opObj.put("count2", count2);
- }
- opdetails.add(opObj);
- responseObj.put("opdetails", opdetails);
- out.print(responseObj.toString());
- }
- catch(Exception e){
- e.printStackTrace();
- }finally{
- if(con!= null){
- try{
- con.close();
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- }
- %>
- <!DOCTYPE html>
- <html>
- <head>
- <title>Opinion Chart Multi</title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
- <script type="text/javascript" src="https://www.google.com/jsapi"></script>
- <script type="text/javascript">
- google.load("visualization", "1.0", {packages:["corechart", "bar"], callback:drawCharts});
- //google.setOnLoadCallback(drawCharts);
- var queryObject="";
- var queryObjectLen="";
- $.ajax({
- url : 'getdata.jsp',
- dataType:'json',
- success : function(data) {
- queryObject = eval('(' + JSON.stringify(data) + ')');
- queryObjectLen = queryObject.opdetails.length;
- },
- error : function(xhr, type) {
- alert('server error occoured')
- }
- });
- function drawCharts() {
- var data = new google.visualization.DataTable();
- data.addColumn('string', 'gender');
- data.addColumn('number', 'gender_count');
- for(var i=0;i<queryObjectLen;i++)
- {
- var gender = queryObject.opdetails[i].gender;
- var count = queryObject.opdetails[i].count;
- data.addRows([
- [gender,parseInt(count)]
- ]);
- }
- var data2 = new google.visualization.DataTable();
- data2.addColumn('string', 'location');
- data2.addColumn('number', 'location_count');
- for(var i=0;i<queryObjectLen;i++)
- {
- var location = queryObject.opdetails[i].location;
- var count2 = queryObject.opdetails[i].count2;
- data2.addRows([
- [location,parseInt(count2)]
- ]);
- }
- var options = {
- title: 'Posts By Gender',
- };
- var options2 = {
- title: 'Posts by Location',
- colors: ['green','yellow'],
- hAxis: {
- title: 'Location'
- },
- vAxis: {
- title: 'No. of Posts'
- }
- };
- var chart1 = new google.visualization.PieChart(document.getElementById('chart1'));
- chart1.draw(data,options);
- var chart2 = new google.visualization.ColumnChart(document.getElementById('chart2'));
- chart2.draw(data2,options2);
- }
- </script>
- </head>
- <body>
- <table class="columns">
- <tr>
- <td><div id="chart1"></div></td>
- <td><div id="chart2"></div></td>
- </tr>
- </table>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement