0
用於更新我的問題的代碼正在工作,但更新答案時不是。我怎樣才能解決這個問題?幫幫我。 。謝謝:)使用for循環和mysql更新數據庫
這是我的形式:
<?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循環正在工作,但第二個不是。 –