PHP を使用してオンライン テスト機能を開発する方法
インターネットの発展に伴い、オンラインでの学習や試験が一般的な学習方法になりました。より便利で柔軟な学習環境を提供するために、多くの機関や個人は、学生がいつでもどこでも練習やテストができるオンラインテスト機能の開発を始めています。この記事では、PHPを使って簡単なオンラインテスト機能を開発する方法を紹介します。
1. データの保存と管理
テスト問題機能を開発する前に、まずテスト問題のデータの保存と管理について検討する必要があります。通常、テスト問題データはデータベースに保存できるため、追加、削除、変更、クエリ操作が簡単に行えます。 MySQL データベースを使用してテスト問題データを保存できます。
test_questions という名前のデータベースを作成し、questions という名前のテーブルを作成します。テーブル構造は次のとおりです:
CREATE TABLE questions
(
id
int(11) NOT NULL AUTO_INCREMENT,
question
varchar(255) NOT NULL,
options
text NOT NULL,
answer
varchar(255) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
テーブル内のフィールドには、(テスト問題固有の番号)、質問(質問内容)、オプション(選択肢)、および回答(回答)。
2. PHP 開発テストの質問機能
最初に、PHP コードで MySQL データベースとの接続を確立します。
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "test_questions";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
?>
データベースからテスト質問データを取得する関数を作成します:
function getQuestions() {
global $conn; $sql = "SELECT * FROM questions"; $result = $conn->query($sql); if ($result->num_rows > 0) { $questions = []; while ($row = $result->fetch_assoc()) { $question = [ 'id' => $row['id'], 'question' => $row['question'], 'options' => json_decode($row['options'], true), 'answer' => $row['answer'], ]; $questions[] = $question; } return $questions; } else { return []; }
}
?>
上記の関数を使用して、取得したテスト問題データを表示しますWeb ページ:
$questions = getQuestions();
?>
<h3><?php echo $question['question']; ?></h3> <?php foreach ($question['options'] as $option): ?> <label> <input type="radio" name="answer_<?php echo $question['id'];?>" value="<?php echo $option; ?>"> <?php echo $option; ?> </label> <?php endforeach; ?>
$answers = $_POST; $score = 0; foreach ($questions as $question) { $userAnswer = $answers["answer_{$question['id']}"]; if ($userAnswer === $question['answer']) { $score++; } } echo "总分:" . $score;
?>
以上がPHPを使ってオンラインテスト問題機能を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。