gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:39:47 24 4
gpt4 key购买 nike

我有一个问题我有一个问卷网站,使用学生作为受访者来填写网站的事项。问题是,当将问卷结果中包含的数据发送到数据库时,数据并未记录在数据库中。

这是我名为“jawab”的表,作为答案记录,列为:
'NIS' 作为学生证
“ID_SOAL”作为问题 ID
学生回答“JAWABAN”

|国家信息系统 | ID_SOAL | JAWABAN |
| ... | ...... | ...... |

那张 table (jawab) 还是空的

现在在我的 Controller 代码中命名为“soal”作为问题 Controller :

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

我的 View 代号“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”

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

这是我的目标

|国家信息系统 | ID_SOAL | JAWABAN |
| 001 | 1 |雅 |
| 001 | 2 |雅 |
| 001 | 3 |泰达克 |
| 001 | 4 |泰达克 |

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

最佳答案

这可以通过对表单中的所有问题及其答案使用循环来完成,但在 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 的值。

在 Controller 中我们将发布数据传递给模型

$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 中记录一些数据到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23153454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com