Mit der Popularität des Internets ist der Weg zur Teilnahme und zum Ausdruck von Meinungen immer wichtiger geworden. Als bequeme Methode ist das Online -Abstimmungssystem zu einem wirksamen Instrument geworden, um öffentliche Meinungen zu sammeln und demokratische Entscheidungen zu treffen.
In diesem Artikel wird vorgestellt, wie PHP verwendet wird, um ein Online -Abstimmungssystem zu implementieren, das mehrere Abstimmungsmethoden unterstützt, und vollständige Code -Beispiele bereitzustellen, um Entwicklern dabei zu helfen, ihre eigene Abstimmungsplattform aufzubauen.
Vor der Gestaltung eines Online -Abstimmungssystems müssen wir die Grundbedürfnisse des Systems klären. Hier sind einige wichtige Funktionen:
Um stimmberufte Daten zu speichern, haben wir zwei Datentabellen in der MySQL-Datenbank entworfen: `Stimme` und` option`. Hier ist ein Beispiel für die Struktur der Tabelle:
Tabellenabstimmung erstellen ( ID int (11) nicht null auto_increment, Titel varchar (255) nicht null, start_time datetime nicht null, end_time datetime nicht null, Primärschlüssel (ID) ) Engine = InnoDB Standard charSet = utf8; Tabellenoption erstellen (Option ID int (11) nicht null auto_increment, stimmen_id int (11) nicht null, Inhaltstext nicht null, Primärschlüssel (ID), Key Voice_id (Vote_id), Einschränkung fk_vote_id fremd key (voting_id) referenzen stimmen (id) auf löschen kaskade auf update cascade ) Engine = InnoDB Standard charSet = utf8;
Entwerfen Sie die Benutzeroberfläche entsprechend Ihren Anforderungen, um sicherzustellen, dass das Abstimmungsthema klar angezeigt wird, die Optionsauswahl bequem und die Abstimmungsergebnisse in Echtzeit angezeigt werden können. Hier ist ein vereinfachtes Beispiel für Front-End-Code:
<?php // Anzeige des Abstimmungsthemas echo "<h2> ". $ stimmen ['title']."</h2> "; // Option Anzeige foreach ($ option as $ option) { Echo "<input type='" . $vote['type'] . "' name='option' value='" . $option['id'] . "'> ". $ option ['Inhalt']."<br/> "; } // Schaltfläche Echo Senden "<input type='submit' value="Eine Abstimmung einreichen"> "; ?>
Die Back-End-Logikverarbeitung umfasst das Empfangen von Benutzerabstimmungsdaten, die Aktualisierung von Datenbanken sowie die Berechnung und Anzeige von Stimmbereichen. Hier ist ein PHP -Backend -Code -Beispiel:
<?php // Eine Abstimmung einreichen if ($_SERVER['REQUEST_METHOD'] == 'POST') { $selectedOption = $_POST['option']; // Eine unterschiedliche Verarbeitung wird gemäß dem Optionstyp durchgeführt if ($vote['type'] == 'radio') { // Einzelauswahlabstimmungen $voteCount = 1; } elseif ($vote['type'] == 'checkbox') { // Multiple -Choice -Abstimmung $voteCount = count($selectedOption); } elseif ($vote['type'] == 'rating') { // Punktzahl und Abstimmung $totalRating = $_POST['total_rating']; $voteCount = 1; } // Aktualisieren Sie die Stimmrechtsstatistiken in der Optionstabelle foreach ($selectedOption as $optionId) { // Aktualisierungsvorgänge durchführen,zählen+1 // UPDATE option SET count = count + 1 WHERE id = $optionId } } // Abfragestimmpunktergebnisse $options = $db-> Abfrage ("Auswählen * aus der Option, wobei Voice_id =". $ stimmen ['id'])-> fetchAll (); foreach ($ option as $ option) { $ VoTEPerCentage = ($ option ['count'] / $ stimmencount) * 100; echo $ option ['Inhalt']. ":". $ VoTEper Centage. "%<br/> "; } ?>
Im obigen Code -Beispiel können wir ein Online -Abstimmungssystem implementieren, das mehrere Abstimmungsmethoden unterstützt. Das System ermöglicht es den Benutzern nicht nur, an der Abstimmung teilzunehmen, sondern auch in Echtzeit-Ergebnisstatistiken, um Administratoren zu helfen, den Abstimmungsprozess zu verwalten.
Im Allgemeinen kann das auf PHP implementierte Online -Abstimmungssystem den unterschiedlichen Abstimmungsbedürfnissen erfüllen. Entwickler können ihre Funktionen an die tatsächlichen Anwendungsszenarien anpassen und mehr Abstimmungsoptionen und verwandte Funktionen bereitstellen. Die Popularität von Online -Abstimmungssystemen bietet bequemere Möglichkeiten, Entscheidungen verschiedener Typen zu treffen und mehr öffentliche Beteiligung zu fördern.