【问题标题】:Updating database with for loop and mysql使用 for 循环和 mysql 更新数据库
【发布时间】:2013-08-28 06:51:10
【问题描述】:

更新我的问题的代码有效,但更新答案时却无效。我怎样才能解决这个问题?帮助。谢谢。:)

这是我的表格:

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

}
?>

【问题讨论】:

  • 什么确切地不起作用?您收到任何错误消息吗?你期望它做什么?
  • @Dark King Rayleigh - 实际上,您可以修复它。我相信你。
  • 我的表格答案在问题更新时没有更新。我的意思是第一个 for 循环正在工作,但第二个没有。
  • 我的代码有什么问题吗??

标签: php html mysql for-loop


【解决方案1】:

你的 ansid 和 answerdesc 不是数组

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

到

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

【讨论】:

    猜你喜欢
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 2016-01-04
    • 2018-12-06
    相关资源
    最近更新 更多