Advertisement
Guest User

Untitled

a guest
Jul 8th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.26 KB | None | 0 0
  1. <%@ page import="java.sql.*" %>
  2. <%@ page import="java.io.*" %>
  3. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  4.  
  5. <%!
  6. public String printButton(String dest, String label) {
  7. return "<form action=\"" + dest + "\"method=\"POST\"><input type=\"submit\" value=\"" + label + "\"/></form >";
  8. }
  9. %>
  10.  
  11.  
  12. <%
  13. boolean devMode = false; // set to true for messages
  14. Connection connection = null;
  15. Statement s1 = null;
  16. PreparedStatement pstatement = null;
  17. ResultSet resultSet = null;
  18.  
  19. String server = "jdbc:mysql://localhost:3306/";
  20. String database = "dip_db_schm";
  21. String encoding = "?useUnicode=yes&characterEncoding=UTF-8";
  22. String user = "root";
  23. String pass = "vagooba1234d";
  24.  
  25. try {
  26. Class.forName("com.mysql.jdbc.Driver");
  27. connection = DriverManager.getConnection(server + database + encoding, user, pass);
  28. if (!connection.isClosed());
  29. s1 = connection.createStatement();
  30. %>
  31. <html>
  32. <head></head>
  33. <style>
  34. .mySlides {display:none;}
  35. </style>
  36.  
  37. <link rel="stylesheet" type="text/css" href="mystyle.css" />
  38.  
  39. <body bgcolor="#00ffff" ONLOAD = "startTimer();">
  40. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  41.  
  42. <script type="text/javascript">
  43. var seconds = 0;
  44.  
  45. function startTimer() {
  46. window.setInterval("updateTime()", 1000);
  47. }
  48.  
  49. function updateTime() {
  50. seconds++;
  51. soFar.innerHTML = seconds;
  52. }
  53.  
  54. var d = new Date();
  55. document.write(d.getDate());
  56. document.write(" / ");
  57. document.write(d.getMonth() + 1);
  58. document.write(" / ");
  59. document.write(d.getFullYear());
  60.  
  61. document.write(" ");
  62.  
  63. document.write(d.getHours());
  64. document.write(" : ");
  65. document.write(d.getMinutes());
  66. document.write(" : ");
  67. document.write(d.getSeconds());
  68.  
  69. </script>
  70.  
  71.  
  72. <div id="wrap">
  73.  
  74. <div id="header" style="max-width:900px">
  75. <img class="mySlides" src="awesome.jpg" style="height:100px;width:900px">
  76. <img class="mySlides" src="wallpaper.jpg" style="height:100px;width:900px">
  77. <img class="mySlides" src="1.jpg" style="height:100px;width:900px">
  78. <img class="mySlides" src="2.jpg" style="height:100px;width:900px">
  79. <img class="mySlides" src="3.jpg" style="height:100px;width:900px">
  80. </div>
  81.  
  82. <script>
  83. var myIndex = 0;
  84. carousel();
  85.  
  86. function carousel() {
  87. var i;
  88. var x = document.getElementsByClassName("mySlides");
  89. for (i = 0; i < x.length; i++) {
  90. x[i].style.display = "none";
  91. }
  92. myIndex++;
  93. if (myIndex > x.length) {
  94. myIndex = 1;
  95. }
  96. x[myIndex - 1].style.display = "block";
  97. setTimeout(carousel, 1500); // Change image every 1.5 seconds
  98. }
  99. </script>
  100.  
  101.  
  102. <div id="nav">
  103. <p>You are watching this page for:
  104. <SPAN ID = "soFar" STYLE = "font-weight : bold">0</SPAN> seconds</p>
  105. </div>
  106.  
  107. <div id="sidebar">
  108. <center>
  109. <p><%=printButton(request.getRequestURL().toString(), "refresh")%></p>
  110. <p><%=printButton("index.jsp", "Αρχική")%></p>
  111. </center>
  112. </div>
  113.  
  114. <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
  115. <script type="text/javascript">
  116. google.charts.load('current', {'packages': ['table']});
  117.  
  118. google.charts.setOnLoadCallback(drawTable1);
  119. google.charts.setOnLoadCallback(drawTable2);
  120. google.charts.setOnLoadCallback(drawTable3);
  121. google.charts.setOnLoadCallback(drawTable4);
  122. google.charts.setOnLoadCallback(drawTable5);
  123.  
  124. <%//num stats
  125. resultSet = s1.executeQuery("select count() as count from "+database+".theses_available;");
  126. resultSet.first();
  127. int th_av = resultSet.getInt("count");
  128. resultSet = s1.executeQuery("select count() as count from "+database+".theses_undertaken;");
  129. resultSet.first();
  130. int th_un = resultSet.getInt("count");
  131. resultSet = s1.executeQuery("select count() as count from "+database+".theses_gradeable;");
  132. resultSet.first();
  133. int th_co = resultSet.getInt("count");
  134. resultSet = s1.executeQuery("select count() as count from "+database+".theses_graded;");
  135. resultSet.first();
  136. int th_gr = resultSet.getInt("count");
  137. %>
  138.  
  139.  
  140. function drawTable1() {
  141. var data = new google.visualization.DataTable();
  142. data.addColumn('string', 'Statistic');
  143. data.addColumn('number', 'Number of theses');
  144. data.addRows([
  145. ['Theses Available', <%out.print(th_av);%>],
  146. ['Theses Undertaken', <%out.print(th_un);%>],
  147. ['Theses Complete', <%out.print(th_co);%>],
  148. ['Theses Graded', <%out.print(th_gr);%>]
  149. ]);
  150.  
  151. var table1 = new google.visualization.Table(document.getElementById('table1_div'));
  152.  
  153. table1.draw(data, {showRowNumber: true, width: '100%', height: '100%'});
  154. }
  155.  
  156. function drawTable2() {
  157.  
  158. var data = new google.visualization.DataTable();
  159. data.addColumn('string', 'Professor');
  160. data.addColumn('number', 'Student average grade');
  161. data.addRows([
  162. <%//prof avg stud grade
  163. pstatement = connection.prepareStatement("Select * from " + database + ".prof_avg_stud_grade;");
  164. pstatement.execute();
  165. resultSet = pstatement.getResultSet();
  166. if (resultSet.first()) {
  167. do {
  168. out.println("['" + resultSet.getString("lname") + " " + resultSet.getString("fname") + "'," + resultSet.getDouble("avg_grade") + "],");
  169. } while (resultSet.next());
  170. }
  171. resultSet.close();
  172. pstatement.close();
  173. %>
  174. ]);
  175.  
  176. var table2 = new google.visualization.Table(document.getElementById('table2_div'));
  177.  
  178. table2.draw(data, {showRowNumber: true, width: '30%', height: '20%'});
  179. }
  180.  
  181. function drawTable3() {
  182. //Όλες title, lname, fname, date_pub
  183. var data = new google.visualization.DataTable();
  184. data.addColumn('string', 'Professor');
  185. data.addColumn('number', 'Theses average grade');
  186. data.addRows([
  187. <%//prof avg dipl grade
  188. pstatement = connection.prepareStatement("Select * from " + database + ".prof_avg_stud_grade;");
  189. pstatement.execute();
  190. resultSet = pstatement.getResultSet();
  191. if (resultSet.first()) {
  192. do {
  193. out.println("['" + resultSet.getString("lname") + " " + resultSet.getString("fname") + "'," + resultSet.getDouble("avg_grade") + "],");
  194. } while (resultSet.next());
  195. }
  196. resultSet.close();
  197. pstatement.close();
  198. %>
  199.  
  200. ]);
  201.  
  202. var table3 = new google.visualization.Table(document.getElementById('table3_div'));
  203.  
  204. table3.draw(data, {showRowNumber: true, width: '30%', height: '20%'});
  205. }
  206.  
  207. function drawTable4() {
  208. //Όλες title, lname, fname, date_pub
  209. var data = new google.visualization.DataTable();
  210. data.addColumn('string', 'asf');
  211. data.addColumn('number', 'Theses conducted');
  212. data.addRows([
  213. <%//prof dipl num
  214. pstatement = connection.prepareStatement("Select * from " + database + ".prof_dipl_num;");
  215. pstatement.execute();
  216. resultSet = pstatement.getResultSet();
  217. if (resultSet.first()) {
  218. do {
  219. out.println("['" + resultSet.getString("lname") + " " + resultSet.getString("fname") + "'," + resultSet.getInt("num_dipl") + "],");
  220. } while (resultSet.next());
  221. }
  222. resultSet.close();
  223. pstatement.close();
  224. %>
  225. ]);
  226.  
  227. var table4 = new google.visualization.Table(document.getElementById('table4_div'));
  228.  
  229. table4.draw(data, {showRowNumber: true, width: '30%', height: '20%'});
  230. }
  231.  
  232. function drawTable5() {
  233. //Όλες title, lname, fname, date_pub
  234. var data = new google.visualization.DataTable();
  235. data.addColumn('string', 'Professor');
  236. data.addColumn('number', 'Average Completion time (weeks)');
  237. data.addRows([
  238. <%//prof avg dipl period
  239. pstatement = connection.prepareStatement("Select * from " + database + ".prof_avg_dipl_per;");
  240. pstatement.execute();
  241. resultSet = pstatement.getResultSet();
  242. if (resultSet.first()) {
  243. do {
  244. out.println("['" + resultSet.getString("lname") + " " + resultSet.getString("fname") + "'," + resultSet.getDouble("avg_per") + "],");
  245. } while (resultSet.next());
  246. }
  247. resultSet.close();
  248. pstatement.close();
  249. %>
  250.  
  251. ]);
  252.  
  253. var table5 = new google.visualization.Table(document.getElementById('table5_div'));
  254.  
  255. table5.draw(data, {showRowNumber: true, width: '30%', height: '20%'});
  256. }
  257.  
  258. </script>
  259.  
  260. <%
  261. } catch (Exception ex) {
  262. out.println("<br>---<br>Exception: <br>" + ex);
  263. } finally {//Release Resources
  264. if (resultSet != null) {
  265. try {
  266. resultSet.close();
  267. } catch (SQLException sqlEx) {
  268. }
  269. resultSet = null;
  270. }
  271.  
  272. if (s1 != null) {
  273. try {
  274. s1.close();
  275. } catch (SQLException sqlEx) {
  276. }
  277. s1 = null;
  278. }
  279.  
  280. if (!connection.isClosed()) {
  281. try {
  282. connection.close();
  283. } catch (SQLException sqlEx) {
  284. }
  285. connection = null;
  286. }
  287. }
  288. %>
  289. <h1>Chart:Theses Stats</h1>
  290.  
  291. <div id="table1_div" style="width:500px; height:200px;"></div>
  292. <div id="table2_div" style="width:500px; height:200px;"></div>
  293. <div id="table3_div" style="width:500px; height:200px;"></div>
  294. <div id="table4_div" style="width:500px; height:200px;"></div>
  295. <div id="table5_div" style="width:500px; height:200px;"></div>
  296.  
  297.  
  298.  
  299.  
  300.  
  301. <div id="footer">
  302. <a href="https://www.facebook.com/theicsd/?fref=ts"><font class="menu">Facebook</font></a>
  303. <font class="menu-delimiter">|</font>
  304. <a href="http://www.icsd.aegean.gr/icsd/"><font class="menu">Official Site</font></a>
  305. <font class="menu-delimiter">|</font>
  306. <a href="https://webmail.aegean.gr/"><font class="menu">Web_Mail</font></a>
  307. <font class="menu-delimiter">|</font>
  308. <a href="https://eclass.icsd.aegean.gr/"><font class="menu">E-Class</font></a>
  309. </div>
  310. </div>
  311. </body>
  312. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement