Mit dem Aufkommen der Internet -Ära wird die Forderung der Menschen nach Teilnahme und Meinungsausdruck immer stärker. Als schnelle und bequeme Methode ist das Online-Abstimmungssystem zu einem wichtigen Instrument für demokratische Entscheidungsfindung und Gruppenmeinungen geworden.
In diesem Artikel werden wir vorstellen, wie ein Online -Stimmsystem implementiert werden kann, das diversifizierte Abstimmungsmethoden basierend auf der PHP -Sprache unterstützt, und vollständige Code -Beispiele bereitstellen, um Entwicklern dabei zu helfen, ihre eigene Abstimmungsplattform zu erkennen.
Unterstützt Einzelauswahl-, Multiple-Choice- und Scoring-Stimmmethoden;
Benutzer können anonym abstimmen;
Administratoren können Abstimmungsthemen erstellen, Optionen bearbeiten und die Abstimmungszeit festlegen.
Das System kann in Echtzeit die Abstimmungsergebnisse zählen und anweisen.
Hier sind Beispiele für die Struktur dieser beiden Tabellen:
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;
// Abstimmungsthema Display Echo "<h2> ". $ stimmen ['title']."</h2> "; // Optionen 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"> ";
// Abstimmung übergeben if ($ _server ['request_method'] == 'post') { $ selectedoption = $ _post ['option']; // Handle if ($ stimmen ['Typ'] == 'Radio') { // Single Choice Vote $ VTECOUNT = 1; } elseif ($ stimmen ['Typ'] == 'Kontrollkästchen') { // Multiple -Choice -Abstimmung $ vuteCount = count ($ selectedOption); } elseif ($ stimmen ['Typ'] == 'Rating') { // Bewertungsabstimmung $ Totalrate = $ _post ['Total_rate']; $ vuteCount = 1; } // Abstimmungsstatistiken für Each ($ SelectedOption als $ optionId) {aktualisieren { // Aktualisierungsoperation durchführen: Aktualisierungsoption set count = count + 1 wobei id = $ optionID } }
// Abfragestimmernergebnisse $ options = $ db-> query ("SELECT * Aus Option, wobei Voice_id =". $ Stimmen ['id'])-> fetchall (); foreach ($ option as $ option) { $ VoTEPerCentage = ($ option ['count'] / $ stimmencount) * 100; echo $ option ['Inhalt']. ":". $ VoTEper Centage. "%<br/> "; }