我遇到了问题 我有一个问卷调查网站,以学生为受访者填写网站的问题。问题是,当将问卷结果中包含的数据发送到数据库时,数据不会记录在数据库中。
这是我的名为" jawab"作为答案记录列:
' NIS'作为学生证号
' ID_SOAL'作为问题ID
' JAWABAN'作为学生答案
| NIS | ID_SOAL | JAWABAN |
| ... | ....... | ....... |
那张桌子(jawab)仍然空着
现在在我的控制器代码名为" soal"作为问题控制者:
public function index(){
$data['title'] = "Kriteria Rumah Masa Depan yang di Inginkan"; // <-- tiltle
$data['form_action'] = site_url('soal/index'); //
//GET QUESTION
$data['soals'] = $this->Soal_model->getSoal();
// SEND ANSWERS TO DATABASE
$JAWABAN = $this->input->post('JAWABAN');
$this->Soal_model->InputJawaban($JAWABAN);
$this->load->view('soal/index', $data);
}
我的模型代码名为&#34; soal_model&#34;作为问题模型:
/* GET ALL QUESTION */
function getSoal(){
$this->db->select('ID_SOAL, SOAL');
$query = $this->db->get('soal');
if($query->num_rows() > 0){
return $query->result_array();
}
}
/* **input students answer to database** */
function InputJawaban($JAWABAN){
$data = array(
'JAWABAN' => $JAWABAN /* JAWABAN as ANSWER */
); $this->db->insert('jawab',$data);
}
我的观看代码名称&#34;索引&#34;:
<body>
<form method="post" action="<?php echo $form_action; ?>">
<table>
<tr>
<th>NO</th>
<th>SOAL</th>
<th>JAWAB</th>
</tr>
<?php $i= 1; ?>
<?php foreach($soals as $soal): ?>
<tr>
<td><?php echo $soal['ID_SOAL']; ?></td>
<td><?php echo $soal['SOAL']; ?></td>
<td><input name="JAWABAN<?php echo $i;?>" type="radio" value="1">YA</input>
<input name="JAWABAN<?php echo $i;?>" type="radio" value="0">TIDAK</input></td>
<?php $i++; ?>
</tr>
<?php endforeach;?>
</table>
<input type="submit" value="KIRIM"/>
</form>
</body>
答案只是&#39; YA&#39;和&#39; TIDAK&#39;
我已经尝试过,但失败了,我的数据库不会记录数据 我得到了 no IDEA
这是我的目标
| NIS | ID_SOAL | JAWABAN |
| 001 | 1 | Ya |
| 001 | 2 | Ya |
| 001 | 3 | Tidak |
| 001 | 4 | Tidak |
我希望你明白我的要求 谢谢 感谢
答案 0 :(得分:1)
这可以通过循环覆盖表单中的所有问题及其答案来完成,但html表单和模型中的稍有变化
<?php foreach($soals as $soal): ?>
<tr>
<td><?php echo $soal['ID_SOAL']; ?></td>
<td><?php echo $soal['SOAL']; ?></td>
<td>
<input name="JAWABAN[<?php echo $soal['ID_SOAL']; ?>]" type="radio" value="1" />YA
<input name="JAWABAN[<?php echo $soal['ID_SOAL']; ?>]" type="radio" value="0" />TIDAK
<input type="hidden" name="question[<?php echo $soal['ID_SOAL']; ?>]" value="<?php echo $soal['ID_SOAL']; ?>" />
</td>
<?php $i++; ?>
</tr>
<?php endforeach;?>
在上面我们已经将所有答案标签名称与他们相应的问题ID以及另一个名称为问题的隐藏输入及其包含问题ID的值分配。
在控制器中,我们会将后期数据传递给模型
$this->Soal_model->InputJawaban($_POST);
在模型中,我们从帖子数据中获取问题ID,如下所示,并根据问题循环,如果从帖子数据中选择答案,我使用JAWABAN,ID_SOAL
列插入数据,不确定{的数据{1}}所以我为此列添加了1,您可以相应地更改它
NIS