2013-08-28 51 views
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()); 
    } 
} 

} 
?> 
+0

什麼*確切*不起作用?你有沒有收到任何錯誤信息?你期望它做什麼? –

+1

@Dark King Rayleigh - 實際上,你可以修復它。我相信你。 –

+0

我的表格答案在問題更新時不更新。我的意思是第一個for循環正在工作,但第二個不是。 –

回答

0

你ansid和answerdesc不是數組

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

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

仍然沒有工作的傢伙 –