Home  >  Article  >  Backend Development  >  How to use PHP to develop online test question function

How to use PHP to develop online test question function

WBOY
WBOYOriginal
2023-08-22 10:51:241602browse

How to use PHP to develop online test question function

How to use PHP to develop online test function

With the development of the Internet, online learning and examinations have become a popular way of learning. In order to provide a more convenient and flexible learning environment, many institutions and individuals have begun to develop online test functions so that students can practice and test anytime and anywhere. This article will introduce how to use PHP to develop a simple online test function.

1. Data storage and management

Before developing the test question function, you first need to consider the data storage and management of the test questions. Normally, test question data can be stored in a database, which allows for easy addition, deletion, modification, and query operations. We can use MySQL database to store test question data.

Create a database named test_questions and create a table named questions. The table structure is as follows:

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;

The fields in the table contain the id (of the test question unique number), question (question content), options (options) and answer (answers).

2. PHP development test questions function

  1. Connect to the database

First establish a connection with the MySQL database in the PHP code:

$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "test_questions";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);

}
?>

  1. Get test questions

Write a function to get test question data from the database:

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 [];
}

}
?>

  1. Display test questions

Use the above function to display the obtained test question data on the web page:

$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; ?>

  1. Submit answer

In the function of submitting answers, we need to determine whether the answer selected by the user is consistent with The correct answers are consistent and the corresponding prompt information is displayed:

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

$answers = $_POST;

$score = 0;
foreach ($questions as $question) {
    $userAnswer = $answers["answer_{$question['id']}"];
    if ($userAnswer === $question['answer']) {
        $score++;
    }
}

echo "总分:" . $score;

}
?>

The above is a simple example of the online test function developed using PHP. Through the above code, we can realize the data storage and management of test questions, the display of test questions, and the functions of submitting answers and calculating scores. Based on actual needs, we can further expand and optimize this function, such as supporting multiple question types, adding statistical and analytical functions, etc.

Summary

With the popularity of online learning, developing a convenient online test question function is very important to improve students' learning effects and enhance user experience. By using PHP to develop the online test question function, we can not only realize the storage and management of test questions, but also conveniently display test questions and calculate scores. I hope this article is helpful to you, if you have any questions, please feel free to leave a message.

The above is the detailed content of How to use PHP to develop online test question function. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn