Php 我应该编写什么代码来按顺序显示问题和多项选择答案?
我在MySQL数据库中创建了一个问题库表。我想在浏览器中显示这些问题及其多选答案。在用户选择当前问题的答案后,必须显示以下问题。我想将用户输入的值存储在POST变量中,如Php 我应该编写什么代码来按顺序显示问题和多项选择答案?,php,mysql,Php,Mysql,我在MySQL数据库中创建了一个问题库表。我想在浏览器中显示这些问题及其多选答案。在用户选择当前问题的答案后,必须显示以下问题。我想将用户输入的值存储在POST变量中,如$\u POST['store']。它必须捕获用户每次输入的值和增量。最后必须显示结果,对于每个正确答案,必须分配一分 数据库表字段为Sno,问题,选项1,选项2,选项3 在另一个表中,Q_no,userentered,corect answer 我写什么PHP代码和MySQL查询?如何创建另一个动态表,以便将用户输入的答案与正
$\u POST['store']
。它必须捕获用户每次输入的值和增量。最后必须显示结果,对于每个正确答案,必须分配一分
数据库表字段为Sno
,问题
,选项1
,选项2
,选项3
在另一个表中,Q_no
,userentered
,corect answer
我写什么PHP代码和MySQL查询?如何创建另一个动态表,以便将用户输入的答案与正确答案进行比较?无需错误处理、输入验证或清理的基本PHP步骤(请参阅PHP手册):
@Priya尝试编写代码如果出现任何错误,我们可以提供帮助。删除我的否决票并添加另一张投票。前面只有一行SQL查询。:)是的,我完全同意这是一个糟糕的结果。(试图在准备完整答案的同时快速抓住要点)。谢谢你的投票。
<?php
/* connect to server */
try{
$dbh=new PDO("mysql:host={$myserver}", $myuser, $mypassword);
} catch (PDOException $ex){
die("cannot connect to database service");
error_log($ex->getMessage());
}
/* create database */
$dbh->exec("CREATE DATABASE IF NOT EXISTS {$mydb}");
/* select database */
$dbh->exec("USE {$mydb}");
/* create tables */
$sql="CREATE TABLE IF NOT EXISTS questions (
Sno INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
Question TEXT,
option1 VARCHAR(64),
option2 VARCHAR(64),
option3 VARCHAR(64)
)";
$dbh->exec($sql);
$sql="CREATE TABLE IF NOT EXISTS answers (
A_no INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
Q_no INT,
user VARCHAR(64),
answer TEXT,
INDEX Q_ind (Q_no),
FOREIGN KEY (Q_no)
REFERENCES questions (Sno)
ON DELETE CASCADE
)";
$dbh->exec($sql);
/* add new question from HTML form (method POST) */
$stmt=$dbh->prepare("INSERT INTO questions (
Question, option1, option2, option3
)
VALUES (
':question',
':option1',
':option2',
':option3'
)");
$question = process_question_input($_POST['question']);
$option1 = process_option_input($_POST['option1']);
$option2 = process_option_input($_POST['option2']);
$option3 = process_option_input($_POST['option3']);
$stmt->bindParam(':question',$question);
$stmt->bindParam(':option1',$option1);
$stmt->bindParam(':option2',$option2);
$stmt->bindParam(':option3',$option3);
$stmt->execute();
/* add new answer from HTML form (method POST) */
$stmt=$dbh->prepare("INSERT INTO answers (Q_no,user,answer)
VALUES (
':question_number',
':user',
':answer'
)");
$question_number = process_question_number($_POST['question_number']);
$user = process_user($_POST['user']);
$answer = process_answer($_POST['answer']);
$stmt->bindParam(':question_number',$question_number);
$stmt->bindParam(':user',$user);
$stmt->bindParam(':answer',$answer);
$stmt->execute();
/* return a table with every question and associated answers */
$sql="SELECT * FROM questions LEFT JOIN answers ON Sno=Q_no";
$stmt = $dbh->query($sql);
/* return records for a particular question and its answers, if any */
$stmt=$dbh->prepare("SELECT * FROM questions LEFT JOIN answers ON Sno=Q_no WHERE question=:question");
$question=process_question_input($_POST['question']);
$stmt->bindParam(':question',$question);
$stmt->execute();
$dbh = null;
?>
<html><head><title>My question</title></head>
<body>
<form method="post">
Option 1: <input type="text" name="option1" /><br />
Option 2: <input type="text" name="option2" /><br />
Option 3: <input type="text" name="option3" /><br />
Input your question:<br />
<textarea name="question"></textarea>
<input type="submit" value="Send" />
</form>
</body>
</html>
<html><head><title>My answer</title></head>
<body>
<?php echo $question; ?>
<form method="post">
<input type "hidden" value="<?php echo $question_number; ?>" />
User:<input type="text" name="user" /><br />
Input your question:<br />
<textarea name="answer"></textarea>
<input type="submit" value="Send" />
</form>
</body>
</html>