Heim > Backend-Entwicklung > PHP-Tutorial > So entwickeln Sie ein einfaches Online-Abstimmungssystem mit PHP

So entwickeln Sie ein einfaches Online-Abstimmungssystem mit PHP

WBOY
Freigeben: 2023-09-24 11:48:01
Original
1224 Leute haben es durchsucht

So entwickeln Sie ein einfaches Online-Abstimmungssystem mit PHP

So entwickeln Sie ein einfaches Online-Abstimmungssystem mit PHP

Abstimmungen sind eine sehr häufige Aktivität, ob in Schulen, Unternehmen oder Vereinen, oft werden verschiedene Abstimmungsaktivitäten organisiert. Mit der Entwicklung des Internets können viele Abstimmungsaktivitäten nun online durchgeführt werden. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP ein einfaches Online-Abstimmungssystem entwickeln, und es werden spezifische Codebeispiele bereitgestellt.

1. Datenbankdesign

Zuerst müssen wir eine Datenbank entwerfen, um wahlbezogene Informationen zu speichern. Angenommen, wir müssen zwei Tabellen entwerfen: eine Abstimmungssubjekttabelle (vote_subject) und eine Abstimmungsoptionstabelle (vote_option).

Die Abstimmungs-Betrefftabelle muss die folgenden Felder enthalten:

  • Betreff-ID (subject_id): die eindeutige Kennung des Betreffs, normalerweise eine automatisch ansteigende Ganzzahl.
  • Betreffname (subject_name): Der Name des Betreffs.
  • Erstellungszeit (create_time): Die Erstellungszeit des Themas.

Die Abstimmungsoptionstabelle muss die folgenden Felder enthalten:

  • Options-ID (option_id): Die eindeutige Kennung der Option, normalerweise eine automatisch inkrementierende Ganzzahl.
  • Betreff-ID (subject_id): Die Betreff-ID, zu der die Option gehört.
  • Optionsname (option_name): Der Name der Option.
  • Optionsstimmen (option_count): Die aktuelle Anzahl der Stimmen für die Option.

2. Erstellen Sie ein Abstimmungsthema

Zuerst müssen wir eine Seite erstellen, auf der Benutzer neue Abstimmungsthemen erstellen können. Auf dieser Seite können Benutzer einen Themennamen eingeben und das Formular absenden.

Beispielcode:

<!DOCTYPE html>
<html>
<head>
    <title>创建投票主题</title>
</head>
<body>
    <h1>创建投票主题</h1>
    <form action="create_subject.php" method="post">
        <label for="subject_name">主题名称:</label>
        <input type="text" name="subject_name" id="subject_name" required>
        <br><br>
        <input type="submit" value="创建">
    </form>
</body>
</html>
Nach dem Login kopieren

In der Datei create_subject.php können wir die vom Benutzer übermittelten Formulardaten empfangen, dann den Betreffnamen in die Abstimmungsbetrefftabelle einfügen und eine neue Betreff-ID generieren.

Beispielcode:

<?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "vote_system";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("连接数据库失败:" . $conn->connect_error);
}

// 接收用户提交的表单数据
$subject_name = $_POST['subject_name'];

// 将主题名称插入投票主题表
$sql = "INSERT INTO vote_subject (subject_name, create_time) VALUES ('$subject_name', NOW())";
if ($conn->query($sql) === TRUE) {
    $subject_id = $conn->insert_id;  // 获取新的主题ID
    echo "创建投票主题成功,主题ID为:" . $subject_id;
} else {
    echo "创建投票主题失败:" . $conn->error;
}

// 关闭数据库连接
$conn->close();
?>
Nach dem Login kopieren

3. Abstimmungsoptionen hinzufügen

Als nächstes müssen wir eine Seite erstellen, um Abstimmungsoptionen hinzuzufügen. Auf dieser Seite muss der Benutzer den Namen der Option eingeben und das Thema auswählen, zu dem sie gehört.

Beispielcode:

<!DOCTYPE html>
<html>
<head>
    <title>添加投票选项</title>
</head>
<body>
    <h1>添加投票选项</h1>
    <form action="add_option.php" method="post">
        <label for="option_name">选项名称:</label>
        <input type="text" name="option_name" id="option_name" required>
        <br><br>
        <label for="subject_id">所属主题:</label>
        <select name="subject_id" id="subject_id">
            <?php
            // 查询所有的投票主题
            $sql = "SELECT * FROM vote_subject";
            $result = $conn->query($sql);
            if ($result->num_rows > 0) {
                while ($row = $result->fetch_assoc()) {
                    echo "<option value=" . $row['subject_id'] . ">" . $row['subject_name'] . "</option>";
                }
            }
            ?>
        </select>
        <br><br>
        <input type="submit" value="添加">
    </form>
</body>
</html>
Nach dem Login kopieren

In der Datei add_option.php können wir die vom Benutzer übermittelten Formulardaten empfangen und dann den Optionsnamen und das Thema, zu dem er gehört, in die Abstimmungsoptionentabelle einfügen.

Beispielcode:

<?php
// 连接数据库(同上)

// 接收用户提交的表单数据
$option_name = $_POST['option_name'];
$subject_id = $_POST['subject_id'];

// 将选项名称和所属主题插入投票选项表
$sql = "INSERT INTO vote_option (subject_id, option_name, option_count) VALUES ('$subject_id', '$option_name', 0)";
if ($conn->query($sql) === TRUE) {
    echo "添加投票选项成功";
} else {
    echo "添加投票选项失败:" . $conn->error;
}

// 关闭数据库连接(同上)
?>
Nach dem Login kopieren

IV. Abstimmungsvorgang

Abschließend müssen wir eine Seite erstellen, auf der Benutzer abstimmen können. Auf dieser Seite können Benutzer ein Thema auswählen und dann eine Option auswählen, über die sie abstimmen möchten.

Beispielcode:

<!DOCTYPE html>
<html>
<head>
    <title>进行投票</title>
</head>
<body>
    <h1>进行投票</h1>
    <form action="vote.php" method="post">
        <label for="subject_id">选择主题:</label>
        <select name="subject_id" id="subject_id">
            <?php
            // 查询所有的投票主题
            $sql = "SELECT * FROM vote_subject";
            $result = $conn->query($sql);
            if ($result->num_rows > 0) {
                while ($row = $result->fetch_assoc()) {
                    echo "<option value=" . $row['subject_id'] . ">" . $row['subject_name'] . "</option>";
                }
            }
            ?>
        </select>
        <br><br>
        <label for="option_id">选择选项:</label>
        <select name="option_id" id="option_id">
            <?php
            // 查询指定主题下的所有选项
            $subject_id = $_POST['subject_id'];
            $sql = "SELECT * FROM vote_option WHERE subject_id = $subject_id";
            $result = $conn->query($sql);
            if ($result->num_rows > 0) {
                while ($row = $result->fetch_assoc()) {
                    echo "<option value=" . $row['option_id'] . ">" . $row['option_name'] . "</option>";
                }
            }
            ?>
        </select>
        <br><br>
        <input type="submit" value="投票">
    </form>
</body>
</html>
Nach dem Login kopieren

In der Datei vote.php können wir die vom Benutzer übermittelten Formulardaten empfangen und dann die Optionsstimmen basierend auf dem ausgewählten Thema und der ausgewählten Option aktualisieren.

Beispielcode:

<?php
// 连接数据库(同上)

// 接收用户提交的表单数据
$subject_id = $_POST['subject_id'];
$option_id = $_POST['option_id'];

// 更新选项票数
$sql = "UPDATE vote_option SET option_count = option_count + 1 WHERE option_id = $option_id";
if ($conn->query($sql) === TRUE) {
    echo "投票成功";
} else {
    echo "投票失败:" . $conn->error;
}

// 关闭数据库连接(同上)
?>
Nach dem Login kopieren

5. Zusammenfassung

Durch die oben genannten Schritte haben wir ein einfaches Online-Abstimmungssystem implementiert. Benutzer können den gesamten Abstimmungsprozess abschließen, indem sie Abstimmungsthemen erstellen, Abstimmungsoptionen hinzufügen und Abstimmungsvorgänge durchführen. Natürlich ist der obige Code nur ein Beispiel und die tatsächliche Entwicklung erfordert möglicherweise die Berücksichtigung weiterer Funktionen und Sicherheit.

Ich hoffe, dass dieser Artikel für Entwickler hilfreich sein kann, die neu bei PHP sind, und ich wünsche Ihnen, dass Sie interessantere und praktischere Abstimmungssysteme entwickeln können!

Das obige ist der detaillierte Inhalt vonSo entwickeln Sie ein einfaches Online-Abstimmungssystem mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage