€vil: Vote (Abstimmung) einrichten - Wie?

Hallo,

ich möchte einen Vote einrichten... kennt sicher jeder aus diversen Websites... man macht seine Wahl, klickt auf "Senden" und bekommt grafisch schön aufbereitet die Ergebnisse.

Wie realisiere ich sowas? Ich möchte eigentlich nicht auf Fertig-Scripte á la webmart.de zurückgreifen, weil ich das doch für etwas amateurhaft halte.

Ist sowas mit PHP möglich? Hat jemand ein paar Realisierungs-Ideen oder nützliche Links?

Grüsse
€vil

  1. hi,
    ich hab sowas vorhin erst gemacht :)

    überlegung:
    -ich gebe dem benutzer 3 möglichkeiten zum antworten
    -ich übertrage die ergebnisse in eine mysql-datenbank
    -ich setzte ein cookie um zu verhindern das personen mehrmals abstimmen

    ich brauche 4 bereiche:
     -ergebnisse anzeigen     (sichtbar)
     -abstimmungsaufforderung (sichtbar)

    -datenbank aktualisieren (unsichtbar)
     -fals schon abgestimmt   (unsichtbar)

    durchführung:
    -deffinition der db:
     2 felder, eins mit möglicher antwort und eins mit der anzahl der
     personen, die für diese antwort gestimmt haben

    Beispiel:
     +--+-+
     |a1|5|
     +--+-+
     |a2|3|
     +--+-+
     |a3|0|
     +--+-+
     ...

    -für den 1. bereich einfach die daten aus der db abfragen und dazu die zahl bestimmen, wieviel insgesammt abgestimmt haben
    danach die einzelnen antwortmöglichkeiten durchgehen (zB mit foreach()) und den dazu angegeben protzensatz bestimmen
    p=(w*100)/g
    p=protzensatz
    w=anzahl der personen, die für die entsprechende antwort gestimmt haben
    g=wieviel insgesammt abgestimmt haben
    man könnte nun noch eine grafik einbauen:
    <img src="bild.bmp" width="<?php print $p; ?>" height=10>
    -für den 2. bereich einfach einen <select>-tag mit den antworten als options einfügen
    zB <select name=antwort><option value=a1>Blau<option value=a2>Grün</select>
    -für den 3. bereich:
    die werte für die gegebene antwort abfragen und mit einer erhöhung von eins wieder in die datenbank geben
    zB $request = mysql_query("SELECT * FROM poll WHERE answer='$antwort'");
    $satz = mysql_fetch_row( $request );
    $new_persons = $satz[1]+1;
    mysql_query("UPDATE poll SET perons='$new_persons' WHERE answer='$antwort'");
    setcookie(...
    -für den 4. bereich: wenn das cookie schon gesetzt wurde, wird ausgegeben, dass man zB nur einmal abstimmen durfte oder man wird gleich zu den ergebnissen weitergeleitet.

    hoffe ich konnte dir helfen

    mfg sebastian

    1. use Mosche;

      »»»» [Abstimmungssystem]

      durchführung:
      -deffinition der db:
      2 felder, eins mit möglicher antwort und eins mit der anzahl der
      personen, die für diese antwort gestimmt haben

      Um rein die Anzahl der Stimmen für eine Möglichkeit zu speichern, halte ich den AUfwand mit einer DB für übertrieben, da ja das Aufbauen der Verbindung zur DB auch Zeit kostet. Dies trifft natürlich nicht zu, wenn du sowieso eine DB-Verbindung brauchst.

      use Tschoe qw(Matti);

      1. durchführung:
        -deffinition der db:
        2 felder, eins mit möglicher antwort und eins mit der anzahl der
        personen, die für diese antwort gestimmt haben

        Um rein die Anzahl der Stimmen für eine Möglichkeit zu speichern, halte ich den AUfwand mit einer DB für übertrieben, da ja das Aufbauen der Verbindung zur DB auch Zeit kostet. Dies trifft natürlich nicht zu, wenn du sowieso eine DB-Verbindung brauchst.

        jo, man könnte das auch in dateien abspeichern

        1. Hi Leute,

          jo, man könnte das auch in dateien abspeichern

          Ich bin ja da nicht wirklich super (Perlprogrammierung) aber ich habe auch gerade erst ein Vote System gebastelt. Da ich bis jetzt nicht viel mit Datenbanken gemacht habe hab ich einfach alles in TextDateien gepackt. Klappt auch ganz gut. Jeder Vote hat da eine Datei bekommen, oben Frage drunter, mögliche Antworten mit Stimmen. Ich habe mir auch noch einen Teil zum verwalten von mehrern Vots gemacht. So kann ich nun verschiedene Vots vorher anlegen und bestimmen für wiviele Tage welcher laufen soll.

          mfg Valentin

  2. Hi €vil

    Mit PHP geht so was recht gut !

    Such doch einfach mal (www.google.de) nach:
      PHP, Tutorial, Vote

    und du bekommst was du suchst ...