Home >Backend Development >PHP Tutorial >Use PHP to develop the ranking function in the quiz website.

Use PHP to develop the ranking function in the quiz website.

WBOY
WBOYOriginal
2023-07-01 21:25:21902browse

Use PHP to develop the ranking function in the knowledge question and answer website

With the development of the Internet, the knowledge question and answer website has become the first choice for many users to obtain knowledge and solve problems. In such a website, the ranking function plays a very important role and can be used to display information such as popular issues and active users. This article will use the PHP programming language to add a ranking function to the knowledge question and answer website.

First, we need to create a database to store question and user information. Suppose we have two data tables, one is the question table questions, and the other is the user table users. The question table needs to contain the title, description, release time and other fields of the question, and the user table needs to contain the user's name, username, points and other fields. We can create these two tables using the following SQL statements:

CREATE TABLE `questions` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `description` text NOT NULL,
  `publish_time` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `username` varchar(100) NOT NULL,
  `score` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Next, we need to write PHP code to handle the leaderboard functionality. We need to implement two functions: getting popular questions and getting active users.

First, let’s implement the function of getting popular questions. We can sort the questions based on when they were posted and the number of answers to show the most popular questions. The following is a sample code:

<?php
// 获取热门问题
function getHotQuestions() {
    // 连接数据库
    $conn = mysqli_connect("localhost", "username", "password", "database");

    // 查询热门问题
    $query = "SELECT * FROM questions ORDER BY publish_time DESC, answer_count DESC LIMIT 10";
    $result = mysqli_query($conn, $query);

    $hotQuestions = [];
    while($row = mysqli_fetch_assoc($result)) {
        $hotQuestions[] = $row;
    }

    // 关闭数据库连接
    mysqli_close($conn);

    return $hotQuestions;
}
?>

The above code queries the database, sorts the questions in descending order according to publication time and number of answers, and limits the number of returned results to 10.

Next, let’s implement the function of obtaining active users. We can sort users based on their points to show the most active users. The following is a sample code:

<?php
// 获取活跃用户
function getActiveUsers() {
    // 连接数据库
    $conn = mysqli_connect("localhost", "username", "password", "database");

    // 查询活跃用户
    $query = "SELECT * FROM users ORDER BY score DESC LIMIT 10";
    $result = mysqli_query($conn, $query);

    $activeUsers = [];
    while($row = mysqli_fetch_assoc($result)) {
        $activeUsers[] = $row;
    }

    // 关闭数据库连接
    mysqli_close($conn);

    return $activeUsers;
}
?>

The above code queries the database, sorts users in descending order by points, and limits the number of returned results to 10.

Finally, we can call these functions in relevant pages of the website to display popular issues and active users. For example, we can use the following code to display popular questions on the home page:

<?php
$hotQuestions = getHotQuestions();

foreach ($hotQuestions as $question) {
    echo "<h3>".$question['title']."</h3>";
    echo "<p>".$question['description']."</p>";
    echo "<hr>";
}
?>

In this way, we can easily add a ranking function to the knowledge question and answer website. Developers can make appropriate adjustments and optimizations based on actual needs. The same method can also be used for other similar functional implementations. Hope this article is helpful to you!

The above is the detailed content of Use PHP to develop the ranking function in the quiz website.. 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