0

我无法更新相应的编辑项目。只有第一个问题和答案正在更新。我无法得到我想要的结果。我坚持了一天。请帮我。

下面是场景:我有一个包含表单并将其传递给另一个 php 文件的 php 文件。具有问题 ID 和文本框的复选框,允许他们从数据库中编辑他们的问题。每个问题都有对应的答案。此外,他们可以编辑它们。如果他们单击更新按钮,则应更新所有选中的问题。但并非所有这些都已更新。从字面上看,只有第一个问题是唯一可以更新的项目。有人知道我的代码有什么问题吗?

这是截图的链接http://imageshack.us/photo/my-images/706/cetw.png/

这是我的代码:

$selected = $_POST['selected'];///the checkbox
$question = $_POST['questiondesc'];


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

    $eren = mysql_query("SELECT * FROM exam_answers WHERE answer_question_set_id = '".$selected[$i]."'")or die(mysql_error());
    while($mikasa = mysql_fetch_array($eren)){}
    $count = mysql_num_rows($eren);

        $answer = $_POST['answerdesc'];
        $answerid = $_POST['ansid'];///answer id



           for($e = 0; $e<$count; $e++){

           $gomugomu = sprintf("UPDATE exam_answers SET answer_description = '%s' WHERE answer_id = '%s'",
           mysql_real_escape_string($answer[$e]), 
           mysql_real_escape_string($answerid[$e]));
           mysql_query($gomugomu)or die(mysql_error());
        }
4

1 回答 1

0

如果没有页面的打印屏幕或其他内容,理解起来有点令人困惑,但听起来您有一个允许同时选择多个复选框的页面,但您只在$_POST.

如果是这种情况,您应该通过数组发送问题的 ID。请看一下这个接受的答案,看看如何做到这一点:PHP $_POST get data array

于 2013-08-28T12:07:20.627 回答