Guest User

Untitled

a guest
Aug 18th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.49 KB | None | 0 0
  1. I want to database fields in an array to link with each other and then display the information
  2. Answer Table:
  3.  
  4. QuestionId AnswerId AnswerContent AnswerCorrect
  5. 1 1 Leeds 1 (true)
  6. 2 2 Manchester 0 (false)
  7. 3 3 Birmingham 0 (false)
  8.  
  9. StudentAnswer Table:
  10.  
  11. StudentAnswer QuestionId
  12. 2 1
  13. 3 1
  14. 1 1
  15.  
  16. <table border='1'>
  17. <tr>
  18. <th>Session ID</th>
  19. <th>Question Number</th>
  20. <th>AnswerContent</th>
  21. <th>StudentAnswer</th>
  22. <th>Student ID</th>
  23. </tr>
  24. <?php
  25.  
  26. while ($row = mysql_fetch_array($result)) {
  27.  
  28. echo "
  29. <tr>
  30. <td>{$row['SessionId']}</td>
  31. <td>{$row['QuestionNo']}</td>
  32. <td>{$row['AnswerContent']}</td>
  33. <td>{$row['StudentAnswer']} </td>
  34. <td>{$row['StudentId']}</td>
  35. </tr>";
  36. }
  37. ?>
  38. </table>
  39.  
  40. SELECT * FROM Question q
  41. INNER JOIN StudentAnswer sa ON q.QuestionId = sa.QuestionId
  42. JOIN Answer a ON sa.QuestionId = a.QuestionId
  43. WHERE
  44. (CorrectAnswer = '1')
  45. ORDER BY $orderfield ASC";
  46.  
  47. Session ID Question Number AnswerContent StudentAnswer Student ID
  48. ABB 1 Leeds 1 u0867587
  49. ABB 1 Leeds 3 u1231231
  50.  
  51. Session ID Question Number AnswerContent StudentAnswer Student ID
  52. ABB 1 Leeds Leeds u0867587
  53. ABB 1 Leeds Birmingham u1231231
  54.  
  55. <form action="exam_QA.php" method="post" name="sessionform"> <!-- This will post the form to its own page"-->
  56. <p>Session ID: <input type="text" name="sessionid" value="<?php echo $sessionid; ?>" /></p> <!-- Enter Session Id here-->
  57. <p>Question Number: <input type="text" name="questionno" value="<?php echo $questionno; ?>" /></p> <!-- Enter Question Number here-->
  58. <p>Student Username: <input type="text" name="studentid" value="<?php echo $studentid; ?>" /></p> <!-- Enter User Id here-->
  59. <p>Order Results By:
  60. <select name="orderfield">
  61. <option value="ordersessionid"<?php if ($orderfield == 'q.SessionId') echo ' selected="selected"' ?>>Session ID</option>
  62. <option value="orderquestionno"<?php if ($orderfield == 'q.QuestionNo') echo ' selected="selected"' ?>>Question Number</option>
  63. <option value="orderstudentid"<?php if ($orderfield == 'sa.StudentId') echo ' selected="selected"' ?>>Student Username</option>
  64. <option value="orderwhole"<?php if ($orderfield == 'q.SessionId AND q.QuestionNo') echo ' selected="selected"' ?>>Session ID and Question Number</option>
  65. </select>
  66. </p>
  67. <p><input type="submit" value="Submit" name="submit" /></p>
  68. </form>
  69.  
  70. <?php
  71. if (isset($_POST['submit'])) {
  72.  
  73. $query = "
  74. SELECT *, a2.AnswerContent as StudentAnswerContent
  75. FROM Question q
  76. INNER JOIN StudentAnswer sa ON q.QuestionId = sa.QuestionId
  77. LEFT JOIN Answer a ON (sa.QuestionId = a.QuestionId AND a2.CorrectAnswer = 1)
  78. LEFT JOIN Answer a2 ON (sa.QuestionId = a2.QuestionId AND a2.AnswerId = sa.StudentAnswer)
  79. WHERE
  80. ('".mysql_real_escape_string($sessionid)."' = '' OR q.SessionId = '".mysql_real_escape_string($sessionid)."')
  81. AND
  82. ('".mysql_real_escape_string($questionno)."' = '' OR q.QuestionNo = '".mysql_real_escape_string($questionno)."')
  83. AND
  84. ('".mysql_real_escape_string($studentid)."' = '' OR sa.StudentId = '".mysql_real_escape_string($studentid)."')
  85. ORDER BY $orderfield ASC";
  86.  
  87. SELECT
  88. q.* ,
  89. sa.*,
  90. a.*,
  91. a2.AnswerContent as StudentAnswerContent
  92. FROM
  93. Question q
  94. INNER JOIN
  95. StudentAnswer sa ON q.QuestionId = sa.QuestionId
  96. LEFT JOIN
  97. Answer a ON (sa.QuestionId = a.QuestionId AND a2.CorrectAnswer = 1)
  98. LEFT JOIN
  99. Answer a2 ON (sa.QuestionId = a2.QuestionId AND a2.AnswerId = sa.StudentAnswer)
  100. ORDER BY $orderfield ASC";
  101.  
  102. $row['StudentAnswerContent']
  103.  
  104. SELECT
  105. SessionId,
  106. q.QuestionNumber,
  107. a.AnswerContent,
  108. a2.AnswerContent as StudentAnswerContent,
  109. StudentId
  110. FROM Question q
  111. INNER JOIN StudentAnswer sa ON q.QuestionId = sa.QuestionId
  112. JOIN Answer a ON sa.QuestionId = a.QuestionId
  113. JOIN Answer a2 ON sa.StudentAnswer = a2.AnswerId
  114. WHERE
  115. (CorrectAnswer = '1')
  116. ORDER BY $orderfield ASC";
Add Comment
Please, Sign In to add comment