Advertisement
Guest User

Untitled

a guest
Oct 20th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.44 KB | None | 0 0
  1. <?
  2. if($_POST["action"] == "test"){
  3.  
  4.     $servername = "localhost";
  5.     $username = "atomicwa_preview";
  6.     $password = "*Pr3vi3w*";
  7.     $dbname = "atomicwa_preview_advocate_health_assessment";
  8.  
  9.     $conn = mysqli_connect($servername, $username, $password, $dbname);
  10.     if(!$conn){
  11.         die("connection failed: " . mysqli_connect_error());
  12.     }
  13.  
  14.     $QA = $_POST["QA"];
  15.     $id_key = $_POST["key"];
  16.     foreach($QA as $qa){
  17.         $myq = $qa['question'];
  18.         $mya = $qa['answer'];
  19.         $sql = "SELECT * FROM QNA WHERE sID = '$id_key' AND qID = $myq";
  20.         $result = $conn->query($sql);
  21.         if($result->{"num_rows"} > 0){
  22.             $sql = "UPDATE QNA SET aID = $mya WHERE sID = '$id_key' AND qID = $myq";
  23.             $conn->query($sql);
  24.         }
  25.         else{
  26.             $sql = "INSERT INTO QNA (sID, qID, aID) VALUES ('$id_key', $myq, $mya)";
  27.             $conn->query($sql);
  28.         }
  29.     }
  30.  
  31.         $sql = "SELECT aID FROM QNA WHERE sID = '$id_key' ORDER BY aID";
  32.         $result = $conn->query($sql);
  33.         $answer_ids = array();
  34.         while($row = $result->fetch_assoc()){
  35.             array_push($answer_ids, $row["aID"]);
  36.         }
  37.        
  38.         $in = join(',', array_fill(0, count($answer_ids), '?'));
  39. $select = <<<SQL
  40. SELECT *
  41. FROM answers
  42. WHERE aID IN ($in)
  43. ORDER BY aID;
  44. SQL;
  45.         // var_dump($answer_ids);
  46.         $answer_vals = array();
  47.         $statement = $conn->prepare($select);
  48.         $statement->bind_param(str_repeat('i', count($answer_ids)), ...$answer_ids);
  49.         $statement->execute();
  50.         $result = $statement->get_result();
  51.         while($row = $result->fetch_assoc()){
  52.             array_push($answer_vals, array("x"=> $row["axval"], "y"=> $row["ayval"]));
  53.         }
  54.         // var_dump($answer_vals);
  55.         echo json_encode($answer_vals);
  56.  
  57.  
  58.  
  59.     die();
  60. }
  61. session_start();
  62.  
  63. $servername = "localhost";
  64. $username = "atomicwa_preview";
  65. $password = "*Pr3vi3w*";
  66. $dbname = "atomicwa_preview_advocate_health_assessment";
  67.  
  68. $conn = mysqli_connect($servername, $username, $password, $dbname);
  69. if(!$conn){
  70.     die("connection failed: " . mysqli_connect_error());
  71. }
  72.  
  73. $myQuestions = [];
  74. $myAnswers = [];
  75.  
  76. $sql = "SELECT * FROM questions ORDER BY qID";
  77. $result = $conn->query($sql);
  78.     while($row = $result->fetch_assoc()){
  79.         $question = array("qID" => $row["qID"],"qtext" => $row["qtext"]);
  80.         array_push($myQuestions, $question);
  81.     }
  82.  
  83. $sql = "SELECT * FROM answers ORDER BY aID";
  84. $result = $conn->query($sql);
  85.     while($row = $result->fetch_assoc()){
  86.         $answer = array("qID" => $row["qID"], "aID" => $row["aID"], "atext" => $row["atext"], "axval" => $row["axval"], "ayval" => $row["ayval"] );
  87.         array_push($myAnswers, $answer);
  88.     }
  89.  
  90. for ($i = 0; $i < count($myQuestions); $i++){
  91.     $myQuestions[$i]["answers"] = array();
  92.     for ($j = 0; $j < count($myAnswers); $j++){
  93.         if($myQuestions[$i]["qID"] == $myAnswers[$j]["qID"]){
  94.             array_push($myQuestions[$i]["answers"], $myAnswers[$j]);
  95.         }
  96.     }
  97. }
  98. ?>
  99.  <head>
  100.     <script src = "http://code.jquery.com/jquery-latest.js"></script>
  101.  </head>
  102. <?
  103. echo "<table>";
  104. for ($i = 0; $i <count($myQuestions); $i++){
  105.     echo "<tr class = 'question'>";
  106.     echo "<td>" . $myQuestions[$i]["qtext"] . "</td>";
  107.         for($j = 0; $j < count($myQuestions[$i]["answers"]); $j++){
  108.             echo "<td><input type='radio' name=" . $myQuestions[$i]["qID"]." value =". $myQuestions[$i]["answers"][$j]["aID"] . ">" . $myQuestions[$i]["answers"][$j]["atext"] . "</td>";
  109.         }
  110.     echo "</tr>";
  111. }
  112.  
  113. ?>
  114. <table id= "xychart">
  115.     <tr>
  116.         <th>x</th>
  117.         <th>y</th>
  118.     </tr>
  119. </table>
  120. <script>
  121.     var myquestions = <? echo  json_encode($myQuestions)?>;
  122.     var mykey = "<? echo session_id() ?>";
  123.     $(".question>td>input").change(function(){
  124.         myQaArr = []
  125.         $(".question>td>input:checked").each(function(){
  126.             myqa = {"question" : $(this).attr("name"), "answer" : $(this).val() }
  127.             myQaArr.push(myqa)
  128.  
  129.         })
  130.         // console.log(myQaArr)
  131.  
  132.         $.ajax({
  133.             method: "POST",
  134.             data: {action: "test", QA : myQaArr, key: mykey},
  135.             success: function(response){
  136.                 myresponse = JSON.parse(response);
  137.                 chart_array = []
  138.                 chart_array[0] = myresponse[0];
  139.                 for(i = 1; i<myresponse.length; i++){
  140.                     chart_array.push({"x" : myresponse[i]["x"] + chart_array[i-1]["x"], "y" : myresponse[i]["y"] + chart_array[i-1]["y"]})
  141.                 }
  142.                 $(".chart_row").remove();
  143.                 for(i = 0;i<chart_array.length;i++){
  144.  
  145.                     $("#xychart").append("<tr class='chart_row'><td>"  + chart_array[i]["x"] + "</td><td>" + chart_array[i]["y"] + "</td></tr>")
  146.                 }
  147.             }
  148.         })
  149.  
  150.     })
  151.  
  152. </script>
  153.  
  154. <?
  155. // SELECT QNA.sID, questions.qtext, answers.atext FROM QNA
  156. //  join questions ON QNA.qID = questions.qID
  157. //  join answers ON QNA.aID = answers.aID
  158. //  ORDER BY sID
  159. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement