从单个选项POST多个值

时间:2013-04-03 17:23:06

标签: php mysql sql

我一直在努力工作的PHP / MySQL项目的最后一步归结为允许教师查看学生每次考试的结果。当学生看到自己的结果时 - 这很简单,它当然使用了他们的SessionID和他们选择的测试的后期值。

现在 - 当老师进去的时候,我可以继续使用与我们想要撤回的QuizID相同的方法......但UserID对我来说仍然有点神秘。在这段代码中:

$sql = "SELECT Complete.UserName, Complete.UserID, Complete.QuizID, Quiz.QuizName 
        FROM Complete
        INNER JOIN Quiz
        ON Complete.QuizID=Quiz.QuizID";
                $result = mysql_query($sql);
                while($row = mysql_fetch_array($result))
                { 
                  echo "<option value=\"".$row['QuizID']."\">".$row['QuizName']." - ".$row['UserName']."</option>\n  ";
                }
                if (!mysql_query($sql,$con)){
                die('Error: ' . mysql_error());}

有没有办法让它不仅传入QuizID,而且还传递UserID?我尝试了一些我在这里和其他地方看过但没有这么幸运的想法。

1 个答案:

答案 0 :(得分:1)

根据您的评论,如果这是您的帖子

的价值
echo "<option value=\"".$row['QuizID'].",".$row['UserID']."]"\">".$row['QuizName']." - ".$row['UserName']."</option>\n  ";

然后你可以使用explode来提取quizid和userid

$tempval = explode(',',$_POST['QuizID']); // is assume your html field id/name is QuizID
$quizId = $tempval[0];
$userId = $tempval[1];

php中sql查询的where子句可以是:

$sql = "SELECT * FROM Results WHERE QuizID ='".$quizId."' AND UserID ='".$userId."'";