2016-11-04 2 views
0

У меня проблема с вставкой динамического экзамена в базу данных mysql. я не знаю, как объяснить слова, так это мой код, например:Вставьте результат динамического экзамена для каждого студента

У меня есть таблица экзамен это моя таблица экзамен структура:

таблица экзамен

+----+-----------+ 
| id | exam_name | 
+----+-----------+ 
| 1 | run test | 
| 2 | swim test | 
+----+-----------+ 

студент стол:

+----+-------------+ 
| id | student | 
+----+-------------+ 
| 1 | student one | 
| 2 | student two | 
+----+-------------+ 

Проблема заключается в том, как вставить в результат экзамена таблицы, например, тест на сдачу экзамена на одного студента, но не пройти тест на плавание. поэтому таблица результатов экзамена будет отображаться как это:

+---------+------------+--------+ 
| id_exam | id_student | status | 
+---------+------------+--------+ 
|  1 |   1 |  1 | 
|  2 |   1 |  0 | 
+---------+------------+--------+ 

Это, как я получать каждый экзамен и студент в HTML таблицу, чтобы дать результат каждого студента:

<table class='wp-list-table widefat fixed striped posts'> 
     <tr> 
     <th class="bgth manage-column ss-list-width1">Participan Name</th> 
      <th class="bgth manage-column ss-list-width1">Complited Pool Requirement</th> 
      <th class="bgth manage-column ss-list-width1">Complited Theory Exam</th> 
      <th class="bgth manage-column ss-list-width1">Medical Sertificate Checked</th> 
    <th class="bgth manage-column ss-list-width" colspan="2">Action</th> 
     </tr> 
    <input type='hidden' name='exam_total' value='3'><input type='hidden' name='exam_names' value='[{"id":"1","exam_name":"Complited Pool Requirement"},{"id":"2","exam_name":"Complited Theory Exam"},{"id":"3","exam_name":"Medical Sertificate Checked"}]'><tr><td class='manage-column ss-list-width'>Handri angga riawan 
     <input type='hidden' value='1' name='x-id[]'></td><td class='manage-column ss-list-width'> 
      <input type='checkbox' name='Complited_Pool_Requirement[]' value='1'>check if pass 
      <input type='hidden' name='id_exam[]' value='1' > 
      </td><td class='manage-column ss-list-width'> 
      <input type='checkbox' name='Complited_Theory_Exam[]' value='1'>check if pass 
      <input type='hidden' name='id_exam[]' value='2' > 
      </td><td class='manage-column ss-list-width'> 
      <input type='checkbox' name='Medical_Sertificate_Checked[]' value='1'>check if pass 
      <input type='hidden' name='id_exam[]' value='3' > 
      </td><td class='manage-column ss-list-width'><a href='#'>Delete Participan</a></td></tr><td class='manage-column ss-list-width'>Suyadman 
     <input type='hidden' value='2' name='x-id[]'></td><td class='manage-column ss-list-width'> 
      <input type='checkbox' name='Complited_Pool_Requirement[]' value='1'>check if pass 
      <input type='hidden' name='id_exam[]' value='1' > 
      </td><td class='manage-column ss-list-width'> 
      <input type='checkbox' name='Complited_Theory_Exam[]' value='1'>check if pass 
      <input type='hidden' name='id_exam[]' value='2' > 
      </td><td class='manage-column ss-list-width'> 
      <input type='checkbox' name='Medical_Sertificate_Checked[]' value='1'>check if pass 
      <input type='hidden' name='id_exam[]' value='3' > 
      </td><td class='manage-column ss-list-width'><a href='#'>Delete Participan</a></td></tr></table><p><input type="submit" id="btn" name="p-submitted" value="Save Result"></p></form> 

Как получить студенческий билет и все экзамены, которые он/она проходит, и не вставляются в таблицу mysql, как показано ниже (результат экзамена)

ответ

0

Ваш подход правильный. так как это, как

| id_exam | id_student | status | 
 
+---------+------------+--------+ 
 
|  1 |   1 |  1 | 
 
|  2 |   1 |  0 | 
 
+---------+------------+--------+

вы можете просто добавить еще один столбец результата (например, счет) типа данных, как поплавок ГНС, что позволит вам вставить десятичное значение также.

для доступа студентов Ид и экзамен ид для сохранения результата, то просто добавьте значение в флажке «проверить, если проход» в значении атрибута, как как

<input type="checkbox" value="exam_id#student_id"/> 

на пост действий отделить это значение # и вы получить идентификатор экзамена и идентификатор студента.


для отображения радиокнопку вместо флажка, как этот

Select exam reslut 
<input type="radio" name="swim_exam[]" value="exam_id#student_id#1"/> Pass 
<input type="radio" name="swim_exam[]" value="exam_id#student_id#0"/> Fail 

if you select pass you will get status 1 other wise get 0 with commonly exam and student id also. 

поэтому оно должно быть как ниже код ...

<?php 
if(!empty($_POST['swim_exam'])){ 
     foreach($_POST['swim_exam'] as $swim_exam){ 
      $idnStatus = explode("#",$swim_exam); 
      $examId = $idnStatus[0]; 
      $studentId = $idnStatus[1]; 
      $status = $idnStatus[2]; 

      // Your Insert query will perform here.... with all above id. 
     } 
    } 
?> 

попробовать это.

+0

проблема заключается в том, как получить статус каждого id_exam и id_student для вставки в таблицу, пожалуйста, сделайте мой html-фрагмент. :) в любом случае спасибо за комментарий – NinjaCode

+0

вы хотите сказать, что «у вас нет возможности получить идентификатор экзамена и идентификатор ученика» на кнопке сохранения результата ...? – satyawan

+0

Я хочу получить id_student получить id_exam и получить статус (если chacked значение будет 1, а если значение не будет 0) проблема (см. Таблицу результатов экзамена), как получить статус всего экзамена студента для вставки в таблицу. Пожалуйста, см. Пример спасибо – NinjaCode

Смежные вопросы