PageRenderTime 42ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/ergebnis.php

https://bitbucket.org/tangendum/seminarfach-umfrage
PHP | 222 lines | 129 code | 90 blank | 3 comment | 23 complexity | 074f330997f5c6f784dd01f345d9c98c MD5 | raw file
  1. <?php
  2. if($_SERVER["REQUEST_METHOD"] == "POST") {
  3. include 'questions.php';
  4. include 'database-helper.php';
  5. $dbhelper = new database_helper();
  6. $dbhelper->init_connection("localhost", "aidelos_umfrage", "seminarfach", "aidelos_umfrage");
  7. readfile("ergebnis_top.html");
  8. if ($_POST["option"] == "alter") {
  9. echo "<h1>Auswahl nach Alter</h1>";
  10. switch ($_POST["alter_darstellung"]) {
  11. case 'uebersicht':
  12. echo "<h2>Übersicht</h2>";
  13. $arr = $dbhelper->get_distinct_age("test16");
  14. foreach ($arr as $key => $value) {
  15. echo "<h2>Alter: " . $value . "</h2>";
  16. create_table($dbhelper->query_age("test16", $value));
  17. }
  18. $dbhelper->close();
  19. break;
  20. case 'einzel':
  21. echo "<h2>Alter: " . $_POST["alter"] . "</h2>";
  22. create_table($dbhelper->query_age("test16", $_POST["alter"]));
  23. $dbhelper->close();
  24. break;
  25. case 'bereich':
  26. echo "<h2>Von " . $_POST["alter_von"] . " bis " . $_POST["alter_bis"] . "</h2>";
  27. create_table($dbhelper->query_age_range("test16", $_POST["alter_von"], $_POST["alter_bis"]));
  28. $dbhelper->close();
  29. break;
  30. default:
  31. # code...
  32. break;
  33. }
  34. }
  35. elseif ($_POST["option"] == "gesamt") {
  36. echo "<h1>Gesamt</h1>";
  37. create_table($dbhelper->query_all("test16"));
  38. }
  39. elseif ($_POST["option"] == "jahrgang") {
  40. global $jahrgang;
  41. echo "<h1>Auswahl nach Jahrgang</h1>";
  42. switch ($_POST["jg_darstellung"]) {
  43. case 'uebersicht':
  44. echo "<h2>Übersicht</h2>";
  45. $arr = $dbhelper->get_distinct_jahrgang("test16");
  46. foreach ($arr as $key => $value) {
  47. echo "<h2>Jahrgang: " . $jahrgang[$value] . "</h2>";
  48. create_table($dbhelper->query_jahrgang("test16", $value));
  49. }
  50. $dbhelper->close();
  51. break;
  52. case 'einzel':
  53. echo "<h2>Jahrgang: " . $jahrgang[$_POST["jahrgang"]] . "</h2>";
  54. create_table($dbhelper->query_jahrgang("test16", $_POST["jahrgang"]));
  55. $dbhelper->close();
  56. break;
  57. case 'bereich':
  58. echo "<h2>Von " . $jahrgang[$_POST["jg_von"]] . " bis " . $jahrgang[$_POST["jg_bis"]] . "</h2>";
  59. create_table($dbhelper->query_jahrgang_range("test16", $_POST["jg_von"], $_POST["jg_bis"]));
  60. $dbhelper->close();
  61. break;
  62. default:
  63. # code...
  64. break;
  65. }
  66. }
  67. } else {
  68. readfile("ergebnis.html");
  69. }
  70. function create_table($sql_result) {
  71. $results = array();
  72. global $types;
  73. global $questions;
  74. global $display;
  75. global $bereiche;
  76. while($row = mysql_fetch_array($sql_result)) {
  77. foreach ($display as $key => $value) {
  78. if ($row[$key] != 0) {
  79. if (isset($results[$key][$row[$key]])) {
  80. $results[$key][$row[$key]]++;
  81. }
  82. else {
  83. $results[$key][$row[$key]] = 1;
  84. }
  85. if(isset($results[$key]["count"])){
  86. $results[$key]["count"]++;
  87. }
  88. else {
  89. $results[$key]["count"] = 1;
  90. }
  91. }
  92. }
  93. }
  94. readfile("table.html");
  95. foreach ($results as $key => $value) {
  96. echo "<tr>";
  97. echo "<td>" . $questions[$key] . "</td>";
  98. $txt = "";
  99. if (!(in_array($key, $bereiche))) {
  100. global $display;
  101. foreach ($display[$key] as $k => $val) {
  102. $txt .= " <td><strong>" . $val . "</strong>" . $value[$k] . " (" . round(($value[$k]*100/$value["count"]), 2) . "%)</td>";
  103. }
  104. // echo "<td>" . $txt . "</td>";
  105. echo $txt;
  106. }
  107. else {
  108. $txt = "";
  109. $temp = array();
  110. foreach ($value as $k => $val) {
  111. if($value != "count") {
  112. for ($i=1; $i < sizeof($display[$key]); $i++) {
  113. if(is_in_range($k, $display[$key][$i - 1], $display[$key][$i])) {
  114. $temp[$i] += $val;
  115. }
  116. }
  117. }
  118. }
  119. for ($i=1; $i < (sizeof($temp) + 1); $i++) {
  120. $txt .= "<td> " . "<strong>" . $display[$key][$i - 1] . "-" . $display[$key][$i ] . "</strong>" . ": " . $temp[$i] . " (" . round(($temp[$i]*100/$value["count"]), 2) . "%)</td>";
  121. }
  122. $txt .= " <td><strong>Gesamt:</strong> " . $value["count"]. "</td>";
  123. echo $txt;
  124. }
  125. echo "</tr>";
  126. }
  127. readfile("ergebnis_bottom.html");
  128. }
  129. function is_in_range($val, $lower, $upper){
  130. return ($val > $lower && $val <= $upper);
  131. }
  132. ?>