我有两个数组selected和questiondesc,我想将其更新到数据库,但是我的代码似乎不起作用。是否可以为每个嵌套?
<?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>
<?php
} while ($row_Recordset2 = mysql_fetch_assoc($Recordset2));
if (isset($_POST['selected'])) {
$selected = $_POST['selected'];
$question = $_POST['questiondesc'];
foreach ($selected as $enable) {
mysql_query("
UPDATE exam_questions
SET question_description = '$question'
WHERE question_id = '$selected'
") or die(mysql_error());
}
}
最佳答案
您可以改用for
并确保正确清理数据:
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());
}
请记住,以上假设问题和选择的顺序相同。