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/> ";
}