如何在php mysql中更新嵌套记录集上的多条记录?

时间:2013-08-27 07:39:40

标签: php mysql

帮助!我有一个嵌套的记录集,即问题和答案,以及每个问题的相应复选框。如何更新记录集中的多个值?我应该循环更新查询?任何帮助将非常感激。

这是我的代码:

<?php
mysql_select_db($database_iexam, $iexam);
$query_Recordset1 = "SELECT * FROM exam_questions WHERE question_exam_id = '$exam_id'";
$Recordset1 = mysql_query($query_Recordset1, $iexam) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

do { ?>
    <tr>
        <th width="170" scope="col">
            <input type="checkbox" name="checkbox"
                   value="<?php echo $row_Recordset1['question_id']; ?>"/>
            Question:
        </th>
        <td colspan="2" scope="col">
            <input name="textfield" type="text"
                   value="<?php echo $row_Recordset1['question_description']; ?>"
                   size="50"/></td>
        <td width="549" colspan="2" scope="col"></td>
    </tr>
    <tr>
        <td>Answers:</td>
    <?php
    mysql_select_db($database_iexam, $iexam);
    $query_Recordset2 = "SELECT * FROM exam_answers WHERE answer_question_set_id = '" . $row_Recordset1['question_id'] . "'";
    $Recordset2 = mysql_query($query_Recordset2, $iexam) or die(mysql_error());
    $row_Recordset2       = mysql_fetch_assoc($Recordset2);
    $totalRows_Recordset2 = mysql_num_rows($Recordset2);

    do { ?>
        <tr>
            <td width="170">&nbsp;</td>
            <td colspan="2">
                <input name="textfield2" type="text" size="20"
                       value="<?php echo $row_Recordset2['answer_description']; ?>"/>
                <input
                    name="<?php echo $row_Recordset2['answer_question_set_id']; ?>"
                    type="radio"
                    value="<?php echo $row_Recordset2['answer_iscorrect']; ?>"/>
            </td>
        </tr>
    <?php } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)); ?>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>

1 个答案:

答案 0 :(得分:0)

您可以为question_id设置name =“checkbox []”的复选框名称,为question_description设置name =“textfield []”,最后当您提交此表单时,您将获得此记录的数组,然后设置for循环获取单独的值并将其更新到数据库或任何位置