繁体   English   中英

如何通过复选框设置正确答案?

[英]How to set the correct answer via checkbox?

我有这个程序(是PHP):

<div id="count2">
        <label>Question 1</label>
        <input type="text" name="pregunta1" class="form-control" style="width:300px;" placeholder="Pregunta 1">
        <br>
          <div class="form-group">
            <div class="col-sm-3" id="count">
                <label>Reply 1</label>
              <input type="text" name="respuesta1_1" class="form-control" id="inputEmail3" placeholder="Respuesta 1">
            </div>
            <div class="col-sm-3" id="count">
            <label>Correct?</label>
              <input type="radio" class="form-control" id="inputEmail3" name="correcta1" value="yes">
            </div>
            <div class="col-sm-3" id="count">
                <label>Help 1</label>
              <input type="text" name="ayuda1_1" class="form-control" id="inputEmail3" placeholder="Ayuda 1">
            </div>
          </div>

          <div class="form-group">
            <div class="col-sm-3" id="count">
                <label>Reply 2</label>
              <input type="text" name="respuesta2_1" class="form-control" id="inputEmail3" placeholder="Respuesta 2">
            </div>
            <div class="col-sm-3" id="count">
            <label>Correct?</label>
              <input type="radio" class="form-control" id="inputEmail3" name="correcta1" value="yes">
            </div>
            <div class="col-sm-3" id="count">
                <label>Help 2</label>
              <input type="text" name="ayuda2_1" class="form-control" id="inputEmail3" placeholder="Ayuda 2">
            </div>
          </div>
        </div>

我可以设置题名和答案,这是一种考试,例如,您可以再添加一个问题,然后在该问题中再添加一个答案/对吗?/帮助

之后,我通过MYSQL插入:

$numQuestions = $_GET['p'];
$numResponses = $_GET['r'];

$title= $_POST['titulo'];
$resumen = $_POST['resumen'];
$fecha = date('Y-m-d H:i:s');
$insertExame = $mysqli->query("INSERT INTO examenes(title,resumen,fecha,private,users_idUsers) VALUES('$title','$resumen','$fecha','no','$_SESSION[user]')");


    $numExam = $mysqli->insert_id;
    $question= array();
    $correct = array();
    $reply = array();
    $help = array();

    for ($i=1; $i <= $numQuestions; $i++) {
        $question[$i] = $_POST['question'.$i];
        $insertQuestion = $mysqli->query("INSERT INTO questions(question,privado,exam_idExam,user_idUser) VALUES('$question[$i]','no','$numExame','$_SESSION[user]')");

        $idQuestion = $mysqli->insert_id;

    for ($k=1; $k <= $numResponses; $k++) {
    $reply[$k] = $_POST['reply'.$k.'_'.$i];
    $help[$k] = $_POST['help'.$k.'_'.$i];
    $correct[$i] = $_POST['correct'.$i];

    if($reply[$k] != "" || $reply[$k] != null) {
    $insertaResponse = $mysqli->query("INSERT INTO replies(reply,help,correct,private,exam_idExam,question_idQuestion,user_idUser) VALUES('$reply[$k]','$help[$k]','$correct[$i]','no','$numExam','$idQuestion','$_SESSION[user]')");
    }
}

该程序是西班牙语的,所以某些单词我无法翻译,对不起。

数据库是这样的:

CREATE TABLE IF NOT EXISTS `examns` (
`idExam` int(11) NOT NULL,
  `title` varchar(85) NOT NULL,
  `resumen` text NOT NULL,
  `fecha` datetime NOT NULL,
  `private` varchar(10) NOT NULL,
  `token` varchar(64) NOT NULL,
  `user_idUser` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `questions` (
`idQuestion` int(11) NOT NULL,
  `question` varchar(64) NOT NULL,
  `private` varchar(10) NOT NULL,
  `exam_idExam` int(11) NOT NULL,
  `user_idUser` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `replies` (
`idReply` int(11) NOT NULL,
  `reply` text NOT NULL,
  `help` text NOT NULL,
  `correct` varchar(10) NOT NULL,
  `private` varchar(10) NOT NULL,
  `exam_idExam` int(11) NOT NULL,
  `question_idQuestion` int(11) NOT NULL,
  `user_idUser` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=latin1;

我想这样做:我想设置表答复,当它是正确的答案。 例如,如果我有:

问题1:您最喜欢的颜色是什么?

回复1:红色正确吗?:是(已选中)帮助1:“”

回复2:蓝色正确吗? 否(未选中)帮助2:不是蓝色的,因为...

我不是要在mysql上插入两个新的插入,第一个复选框为“是”,第二个为“否”。

希望您能理解。

谢谢

您需要将所有复选框的值收集到多个变量中,然后可以使用以下语法通过单个插入查询插入所有这些记录:

INSERT INTO example
  (example_id, name, value, other_value)
VALUES
  (1, 'Name 1', '$var1', 'Other 1'),
  (2, 'Name 2', '$var2', 'Other 2'),
  (3, 'Name 3', '$var3', 'Other 3'),
  (4, 'Name 4', '$var4', 'Other 4');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM