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

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 在Codeigniter中将一些数据记录到数据库中脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我遇到了问题
我有一个问卷调查网站,以学生为受访者填写网站的问题.问题是,当将问卷结果中包含的数据发送到数据库时,数据不会记录在数据库中.

这是我的名为“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);
}

我的模型代码名为“soal_model”作为问题模型:

/* 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); 
    }

我的视图代码名称“index”:

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

答案只是’YA’和’TIDAK’

我试过,但失败了,我的数据库不会记录数据
我没有IDEA

这是我的目标

| NIS | ID_SOAL | JAWABAN |
| 001 | 1 |雅|
| 001 | 2 |雅|
| 001 | 3 | Tidak |
| 001 | 4 | Tidak |

我希望你理解我的要求
谢谢
谢谢

解决方法

这可以通过使用循环覆盖表单中的所有问题及其答案来完成,但是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列来插入数据并且不确定NIS的数据所以我放1这一栏你可以相应地改变

function InputJawaban($data)
{
    if (empty($data)) {
        return false;
    }
    foreach ($data['question'] as $key => $qid) {
        $answer = $data['JAWABAN'][$qid]; /* $qid is question id and From that id
        i have picked the answer whose name contains that question id i*/
        $data = array(
            'JAWABAN' => $answer,'ID_SOAL' => $qid,'NIS'   =>1
        );
        $this->db->insert('jawab',$data);
    }
    return true;

}

脚本宝典总结

以上是脚本宝典为你收集整理的php – 在Codeigniter中将一些数据记录到数据库中全部内容,希望文章能够帮你解决php – 在Codeigniter中将一些数据记录到数据库中所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。