Freischwimmer: Voting-Script, wie macht man es?

Guten Tag,
und zwar bräuchte ich einen Leitfaden in das Thema Voting-Scripts. Ich möchte ein Script welches auf eine User-Datenbank zurückgreift, sodass jeder User nur einmal voten darf.
Falls jemand von euch so einen Leitfaden für mich hätte wäre ich sehr froh, denn ich habe nach einem Basis-Wissen im Internet gesucht, jedoch keines gefunden.
Vielen Dank

  1. Hallo Freischwimmer,

    Leitfäden für solche Dinge gibt es sicherlich einige. Demnach könnte es deine Suche verkürzen, wenn du sagst, auf welcher Plattform (PHP/MySQL oder ASP) du die Lösung implementieren möchtest.

    Andererseits, was ist so kompliziert, dass es einen Leitfaden genau dafür brauch?

    • Du modellierst in deiner DB eine Entität, für die Stimmen gezählt werden können. Das geht schon mit einer einzigen Tabelle: ~~~sql

    CREATE TABLE VotingOptions
    (
      Id int,
      Name varchar(255),
      Votes int
    )

      
    - Dann hast du eine PHP / ASP / wasauchimmer Seite, die Daten aus dieser Tabelle abruft und z.b. in Listenansicht darstellt. Dazu gibt es dann in der Schleife über die Datensätze von VotingOptions noch jeweils eine Check oder Radiobox oder einen Submit Button, der das Formular (<form...>) wieder zurück an den Server schickt.  
      
    - Auf dem Server wertest du dann nach dem Abschicken des Formulars die Rückgabewerte (z.b. den zurückgegebenen Id Wert) aus und führst ein Update auf der Datenbank aus:  ~~~sql
      
    UPDATE VotingOptions SET Votes = Votes+1 WHERE Id=#deinZurückgegebenerIdWert#  
    
    
    • Nach dem Update kannst du entweder eine statische "Dankes"-Seite anzeigen oder das ganze Spiel von vorn beginnen lassen.

    Extras wie z.b. Reload-Sperre (damit man nicht unendlich hintereinder Stimmen vergeben kann) kannst du, wenn du die Plattform kennst, sehr goot ergoogeln.

    Ciao, Frank

  2. und zwar bräuchte ich einen Leitfaden in das Thema Voting-Scripts. Ich möchte ein Script welches auf eine User-Datenbank zurückgreift, sodass jeder User nur einmal voten darf.
    Falls jemand von euch so einen Leitfaden für mich hätte wäre ich sehr froh, denn ich habe nach einem Basis-Wissen im Internet gesucht, jedoch keines gefunden.

    Wenn Du die Benutzer zu packen kriegst, dann hast Du ein System bestehend aus so genannten Sitzungen (Sessions) und Benutzern (und vielleicht Rechten), d.h. der Nutzer muss sich anmelden und bleibt identifizierbar.

    Du könntest jetzt eine Tabelle Votings einführen, die mit der Tabelle Benutzer in einer n:1-Beziehung steht, also jedes Voting auf einen Nutzer verweist, eventuell auch eine Tabelle Discussions, wobei die Tabelle Votings die "n:m"-Beziehung zwischen Benutzer und Discussions darstellt.

    Wie Du siehst geht es primär nicht um Programmcode ("Scripts") sondern um die DB-Design, auf dem aufgesetzt dann fleissig kodiert werden darf.

  3. Falls jemand von euch so einen Leitfaden für mich hätte wäre ich sehr froh, denn ich habe nach einem Basis-Wissen im Internet gesucht, jedoch keines gefunden.
    Vielen Dank

    Es kommt immer darauf an, welche Anforderungen du an das Script stellst, wenn man z.B. immer nur ein Voting zur selben Zeit stattfindet, dann kannst du einfach eine Spalte in der User-Datenbank einfügen, die Ihre Stimme festhält. Es ist dann auch recht einfach zu steuern, ob ein Benutzer sein Votum nachträglich ändern kann.
    Einfach, aber unflexibel.

    Ansonsten würde ich einfach eine Datenbank anlegen, die jede Stimme als eigenen Eintrag wertet und vor dem Eintragen eines neuen Votums wird halt geprüft, ob es bereits einen Eintrag gibt, in dem die Merkmale Benutzer(a) und Voting(y) schon vorkommen. Ist das nicht der Fall, so hat der Benutzer noch nicht abgestimmt.