插入学生考试成绩

时间:2016-11-04 05:45:23

标签: php mysql wordpress

每个学生的插入考试结果有问题。 问题是如何插入每次考试的学生成绩。

请查看我的表格:

考试表:

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

学生表

|id|s_name|
| 1| roni |
| 2| mark |

让roni通过跑步测试并且在游泳测试中失败,所以表test_result中roni的结果将是这样的: 考试成绩表

|id_studen|id_exam|status|
| 1       | 1     | 1    |
| 1       | 2     | 0    |

这是我的代码: 1.表格输入studetn考试成绩:



  <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='status0[]' 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='status1[]' 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='status2[]' 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='status0[]' 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='status1[]' 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='status2[]' 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>
&#13;
&#13;
&#13;

这就是我得到每个学生成绩的价值:

if ( isset( $_POST['p-submitted'] ) ) {
        $all = array();
        $exam_total = $_POST['exam_total'];
        $exam_namer = $_POST['exam_names'];
        $idp = $_POST['x-id'];
        $idxa = $_POST['id_exam'];
        $exam_names = json_decode(stripslashes($exam_namer));

        $pu = array();
        for($a=0;$a<$exam_total-1; $a++){
        for($i=0; $i<$exam_total; $i++){

      $status = isset($_POST['status'.$i]) ? $_POST['status'.$i] : 0 ;
      echo "INSERT INTO DB VALUES($id,$xid,$status)";
      }
}

你可以看到我尝试了很多但仍然没有工作我想插入学生考试成绩的结果, 所以sql看起来像这样:插入表值(id_student,exam_id,status); 但是对于我希望考试的信息取决于考试表......

请帮帮我:)。

1 个答案:

答案 0 :(得分:0)

对于初学者而言,您不是要尝试将任何数据插入数据库,而是在回显echo "INSERT INTO DB VALUES($id,$xid,$status)";语句。

其次声明不完整,格式为INSERT INTO table ( COL1, COL2) VALUES (VAL1, VAL2);

继续前进,您需要查看mysqli或更好的PDO - https://code.tutsplus.com/tutorials/why-you-should-be-using-phps-pdo-for-database-access--net-12059

这将为您提供能够安全地将数据插入数据库所需的所有信息。