我对每个学生的插入考试成绩有疑问。 问题是如何插入每次考试的学生成绩。
请看看我的 table :
考试表:
|id|exam_name|
| 1| run test|
| 2|swim test|
学生表
|id|s_name|
| 1| roni |
| 2| mark |
假设 roni 通过了运行测试,但未能通过游泳测试,因此表 exam_result 中 roni 的结果将如下所示: 考试成绩表
|id_studen|id_exam|status|
| 1 | 1 | 1 |
| 1 | 2 | 0 |
这是我的代码: 1. 表格输入学生考试成绩:
<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>
这就是我获取每个学生成绩值的方法:
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); 但作为信息,我希望考试取决于考试表...
请帮助我:)
最佳答案
对于初学者来说,您并没有尝试将任何数据插入数据库,而是回显语句 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
这将为您提供将数据安全插入数据库所需的所有信息。
关于php - 插入学生考试成绩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40416041/