使用for循环和mysql更新数据库

时间:2013-08-28 06:51:10

标签: php html mysql for-loop

更新我的问题的代码正在运行,但在更新答案时则不然。我怎样才能解决这个问题?救命。感谢:)

这是我的表格:

<?php do { ?><tr><th width="170" scope="col"><input type="checkbox" name="selected[]"  value="<?php echo $row_Recordset1['question_id']; ?>" />
  Description:</th>
  <td colspan="2" scope="col">old:
  <?php echo $row_Recordset1['question_description']; ?>
  new:<input name="questiondesc[]" type="text"  size="50" />/td>
  <td width="549" colspan="2" scope="col"><div align="left"></td>
  </tr>
<input type="hidden" name="ansid[]" value="<?php echo $row_Recordset2['answer_id']; ?>" />
<input name="answerdesc[]" type="text" size="20" value="<?php echo $row_Recordset2['answer_description']; ?>" /><?php

 if($row_Recordset2['answer_iscorrect'] == 1){
 echo "Correct";
}
 ?>
<?php } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)); ?>
<?php } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)); ?>

/////这是我的更新代码

if(isset($_POST['selected'])){

$selected = $_POST['selected'];
$question = $_POST['questiondesc'];
$answer = $_POST['answerdesc'];
$answerid = $_POST['ansid'];

for ($i = 0; $i < sizeof($selected); $i++)
{
    $sql = sprintf("UPDATE exam_questions SET question_description = '%s' WHERE question_id = '%s'", 
           mysql_real_escape_string($question[$i]), 
           mysql_real_escape_string($selected[$i]));
    mysql_query($sql)or die(mysql_error());

    for($x = 0; $x < sizeof($answerid); $x++){
    $gomugomu = sprintf("UPDATE exam_answers SET answer_description = '%s' WHERE answer_question_set_id = '%s'",
           mysql_real_escape_string($answer[$x]), 
           mysql_real_escape_string($answerid[$x]));
    mysql_query($gomugomu)or die(mysql_error());
    }
}

}
?>

1 个答案:

答案 0 :(得分:0)

你的ansid和answerdesc不是数组

<input type="hidden" name="ansid" .....
<input name="answerdesc" ....

<input type="hidden" name="ansid[]" ...
<input name="answerdesc[]" ...
相关问题