我想在数据库中插入测验应用程序的答案。我正在使用Codeigniter。测验问题是随机生成的。向用户显示10个问题。以下是我的代码:
视图
<div class="col-lg-8">
<table class="table" style="width: 100%;">
<?php
$i = 1;
echo form_open('Menu/submit_ans', array('name' => 'quiz'));
foreach ($quiz_array as $q){
?>
<td colspan="2"style="background-color: #337ab7;color:white;"> <h4>Question No. <?php echo $i?> </h4></td>
<tr>
<td colspan="2"><?php echo $q->ques;?></td>
<input hidden name="qid[]" type="text" value="<?php echo $q->qid;?>">
<input hidden name="uid[]" type="text" value="<?php echo $user['id'];?>">
</tr>
<tr>
<td><?php echo $q->ans_1;?></td>
<td><input type="radio" name="ans[<?php print $i; ?>]" value="1"></td>
</tr>
<tr>
<td><?php echo $q->ans_2;?></td>
<td><input type="radio" name="ans[<?php print $i; ?>]" value="2"></td>
</tr>
<tr>
<td><?php echo $q->ans_3;?></td>
<td><input type="radio" name="ans[<?php print $i; ?>]" value="3"></td>
</tr>
<tr>
<td><?php echo $q->ans_4;?></td>
<td><input type="radio" name="ans[<?php print $i; ?>]" value="4"></td>
</tr>
<?php
$i++;
}
?>
</table>
<center><button class="btn btn-success" type="submit">Submit!</button></a></center>
</div>
<?php echo form_close();?>
控制器:
function submit_ans(){
$data = array(
$q_array = $_POST['qid'],
$u_array = $_POST['uid'],
$ans_array = $_POST['ans']
);
$this->load->model('MyModel');
$this->MyModel->insert_ans($data);
}
模特
function insert_ans($ data){
foreach($data as $answer) {
var_dump($answer);
}
}
vardump结果
//问题ID
array (size=12)
0 => string '4' (length=1)
1 => string '12' (length=2)
2 => string '3' (length=1)
3 => string '6' (length=1)
4 => string '11' (length=2)
5 => string '7' (length=1)
6 => string '10' (length=2)
7 => string '2' (length=1)
8 => string '8' (length=1)
9 => string '1' (length=1)
10 => string '5' (length=1)
11 => string '9' (length=1)
//用户名
array (size=12)
0 => string '1' (length=1)
1 => string '1' (length=1)
2 => string '1' (length=1)
3 => string '1' (length=1)
4 => string '1' (length=1)
5 => string '1' (length=1)
6 => string '1' (length=1)
7 => string '1' (length=1)
8 => string '1' (length=1)
9 => string '1' (length=1)
10 => string '1' (length=1)
11 => string '1' (length=1)
//获取答案
array (size=12)
0 => string '1' (length=1)
1 => string '1' (length=1)
2 => string '3' (length=1)
3 => string '4' (length=1)
4 => string '2' (length=1)
5 => string '2' (length=1)
6 => string '3' (length=1)
7 => string '3' (length=1)
8 => string '4' (length=1)
9 => string '3' (length=1)
10 => string '2' (length=1)
11 => string '3' (length=1)
我从问题ID到答案得到了我想要的所有结果。如何在数据库中插入此表?
以下是我的表格由4列组成:
ans_id - 自动增量 user_id - 回答问题的用户 q_id - 问题回答了 ans_att - 答案
答案 0 :(得分:0)
尝试将广播名称设置为数组:
<input type="radio" name="asw[]" value="1"></td>
<input type="radio" name="asw[]" value="1"></td>
并且,对于你的数据库中的include,试试这个php:
$asw = $_POST['asw'];
foreach($asw as $answer){
mysql_query("insert into table_name (col_name) values ('". $aswer ."')");
}
这是你想要的吗?
答案 1 :(得分:0)
您不能拥有随机名称,因为最后这个名称会插入到您的数据中,因此您可以尝试修改名称,随机值和ID。尝试使用java脚本函数 “type =”radio“name =”as“value =”“&gt; 但是,请你把你的桌子告诉我们更清楚