在Codeigniter中将一些数据记录到数据库中

时间:2014-04-18 11:44:54

标签: php mysql sql codeigniter model

我遇到了问题 我有一个问卷调查网站,以学生为受访者填写网站的问题。问题是,当将问卷结果中包含的数据发送到数据库时,数据不会记录在数据库中。

这是我的名为" 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 |

我希望你明白我的要求 谢谢 感谢

1 个答案:

答案 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