从MySQL表中获取数据并插入另一个表

时间:2014-04-09 06:09:26

标签: php mysql sql

我在while循环中从MySQL表中获取数据,并将表单数据插入到foreach中操作页面中的另一个MySQL表中,但是我没有得到正确的单选按钮值,我附加了我的代码,请帮忙。

<?php
$i = 1;
$j = 1;
while ($row = mysqli_fetch_array($questions)) {
    ?>
    <div class="control-group">

        <label class="control-label" for="focusedInput">(<?php echo $i; ?>)
            <?php
            $questionid = $row['question_id'];
            $question = $row['question'];
            ?>
            <input type="hidden" name="questionid[]" value="<?php echo $questionid; ?>" />
            <input type="hidden" name="question[]" value="<?php echo $question; ?>" />
            <?php echo $row['question']; ?></label>
        <div class="controls">
            <?php
            if ($row['answer_type'] == "Ratings") {
                echo "
                                                                                                                        <p>

                                                            Low<input type='radio' name='rating$i' value='1' id='rating_0'>                                                                                                         
                                                            <input type='radio' name='rating$i' value='2' id='rating_1'>                                                         
                                                            <input type='radio' name='rating$i' value='3' id='rating_2'>                                                          
                                                            <input type='radio' name='rating$i' value='4' id='rating_3'>                                                      
                                                            <input type='radio' name='rating$i' value='5' id='rating_4'>High                                                   

                                                        </p>
                                                                                                                        ";
                $i++;
            } else if ($row['answer_type'] == "Comments") {
                echo "<textarea name='answer[]' cols='' rows=''></textarea>";
                $j++;
            }
            echo "<br />";
            ?>

        </div>
    </div>
<?php } ?>

行动档案代码

foreach($_POST['questionid'] as $key=>$questionid){

$questionid = $_POST['questionid'][$key];
$answer = $_POST['answer'][$key];


$result3 = mysqli_query($con, "select question,answer_type from questions where question_id=$questionid;"); 
while($row = mysqli_fetch_array($result3)) {
$question = $row['question'];
$answer_type = $row['answer_type'];

if($answer_type == "Comments") {
$query2 = "insert into review_details (review_id,survey_id,question_id,question,answer_freeresponse) values(1,$_SESSION[surveyid],$questionid,'$question','$answer')";          
$result2 = mysqli_query($con,$query2);                                                          
if(!$result2) {
echo mysqli_error($result2);
}
}
else if($answer_type == "Ratings") {
$query2 = "insert into review_details (review_id,survey_id,question_id,question,answer_rating) values(1,$_SESSION[surveyid],$questionid,'$question',$key)";         
$result2 = mysqli_query($con,$query2);                                                          
if(!$result2) {
echo mysqli_error($result2);
}
}
}

$i++;
}

输出

enter image description here

我想将显示的评级存储为单选按钮,我猜它将计数器增加为变量$ key,我不知道如何存储单选按钮的值。

1 个答案:

答案 0 :(得分:2)

我猜您会将单选按钮值设为

$ratingKey = "rating".$key;
$rating = $_POST[$ratingKey];

在插入查询中使用$rating而不是$ key。

INSERT into review_details (review_id,survey_id,question_id,question,answer_rating) 
values(1,$_SESSION[surveyid],$questionid,'$question',$rating)