Umfrageergebnisse mit MySQL anzeigen lassen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Umfrageergebnisse mit MySQL anzeigen lassen

    Anzeige
    Hallo,

    ich probiere mich gerade am Websiten entwickeln/programmieren und wollte jetzt eine Umfrage starten lassen, doch wie kann ich mir die Ergebnisse über MySQL anzeigen lassen?

    Mein Code (nur der wichtige Teil):

    Quellcode

    1. <aside>
    2. <div class="Umfragegesamt">
    3. <div class="asideueberschrift"><h1>Umfrage</h1></div>
    4. <h2>Wie gef&auml;llt dir diese Website?
    5. <form class="Umfrage" method="post" action="umfrage.php">
    6. <input type="radio" name="Antwort" value="1"/>Sehr gut<br />
    7. <input type="radio" name="Antwort" value="2"/>Ok<br />
    8. <input type="radio" name="Antwort" value="3"/>Schlecht<br />
    9. <input type="submit" name="submit" value="Vote now!"/>
    10. </h2>
    11. </form></div>
    12. <div class="Umfragegesamt">
    13. <div class="asideueberschrift"><h1>Umfrage</h1></div>
    14. <h2>Was sollen wir im Livestream zocken?
    15. <form class="Umfrage" method="post" action="umfrage.php">
    16. <input type="radio" name="Antwort" value="1"/>Hearthstone<br />
    17. <input type="radio" name="Antwort" value="2"/>Battlefield 4<br />
    18. <input type="radio" name="Antwort" value="3"/>CS:GO<br />
    19. Sonstiges: <input type="text" name="Antwort" value="4"/><br />
    20. <input type="submit" name="submit" value="Vote now!"/>
    21. </h2>
    22. </form></div>
    23. </aside>
    Alles anzeigen


    Ich weiß, es gibt einige Stellen, die ich besser lösen könnte, aber darum geht es gar nicht.

    Wie kann ich mir die Ergebnisse tabellarisch über MySQL anzeigen lassen? Ich habe schon ein paar Tutorials darüber gesehen, doch irgendwie mache ich etwas falsch...

    Ich habe eine Datenbank bei MySQL angelegt, und dort will ich jetzt eine Tabelle erstellen, doch wie mache ich das? Im Tutorial hat jemand nur Texte angelegt, aber wie soll ich das mit radio-Buttons machen? Wie viele Spalten brauche ich? Was muss ich bei den einzelnen Einstellungen (Typ etc.) auswählen?
    Ich würde es mir gerne so anzeigen lassen, dass es eine Spalte gibt, in der die Auswahl steht (z. B. bei der 1. Umfrage "OK") und bei der 2. Spalte wie viele für das "gevotet" haben.

    Gruß
  • Du bist doch schon gut dabei. Du speicherst einfach die Antwort und alles, was du sonst noch haben willst. Ein Byte reicht ja bei der Menge der Möglichkeiten und die Bedeutung der Votes kannst du ja separat in einer Tabelle anlegen. Dafür sind es ja relationale Datenbanken.
    Am Ende machst du einfach einen GROUP BY über die Spalte und zählst das ganze per Count. Du kannst ja noch eine Vorauswahl treffen usw. Dazu bräuchte man eben mehr Infos.
  • Was ET auch noch vergessen hat zu erwähnen ist, dass du dafür PHP benötigst.
    HTML ist lediglich eine "Markup Languange", sprich eine Sprache um Dinge anzeigen zu lassen in Verbindung mit CSS oder Java/JavaScript.
    PHP dagegen wird verwendet um Funktionen zu schreiben, wie in deinem Fall ein Eintragen und Auslesen eines Datensatzes in einer Datenbank.
  • Wie hier erwähnt wurde brauchst du dazu php.
    Wenn du keine Ahnung von PHP hast dann lerne es besser ersteinmal

    Fals du Ahnung von PHP hast hier ein Denk anstoß (kann Fehler enthalten, da ich es auch die Schnelle gemacht habe, soll nur zum denken anregen)

    PHP-Quellcode

    1. <?php
    2. $connectionid = mysql_connect("localhost", "dbuser", "dbpass"); //MYSQL Verbindung aufbauen
    3. if (!mysql_select_db ("dbname", $connectionid)) //db verbinden | Wenn Datenbank nicht erreichbar ...
    4. {
    5. die ("Keine Verbindung zur Datenbank"); //... Fehler ausgeben und script beenden
    6. }
    7. if(isset($_POST['Antwort'])) //wenn formular abgeschickt ...
    8. {
    9. $sql = "INSERT INTO tabellenname ". //... sql string erzeugen...
    10. "(Spalte1) ".
    11. "VALUES ('".$_POST['Antwort']."')";
    12. mysql_query ($sql); //...und abschicken
    13. /*
    14. Weitere Aktionen hier möglich
    15. */
    16. }else{ // Wenn nicht abgeschickt...
    17. die("Keine Antwort gewählt"); //... Fehler ausgeben uns Script beenden
    18. }
    19. ?>
    Alles anzeigen
  • Anzeige

    PHP-Quellcode

    1. ...
    2. $sql = "INSERT INTO tabellenname ". //... sql string erzeugen...
    3. "(Spalte1) ".
    4. "VALUES ('".$_POST['Antwort']."')";
    5. mysql_query ($sql); //...und abschicken
    6. ...


    :cursing:

    Mal ab davon, dass der Code nur so nach einer SQL-Injection schreit, wird es die "alten" MySQL-Funktionen von PHP in naher Zukunft nicht mehr geben. Die sind aktuell schon als deprecated markiert - lieber das MySQLi-Interface benutzen. Das beherrscht nebenbei auch Prepared Statements, mit denen sich SQL-Injections effektiv verhindern lassen.
  • VikingGe schrieb:

    PHP-Quellcode

    1. ...
    2. $sql = "INSERT INTO tabellenname ". //... sql string erzeugen...
    3. "(Spalte1) ".
    4. "VALUES ('".$_POST['Antwort']."')";
    5. mysql_query ($sql); //...und abschicken
    6. ...


    :cursing:

    Mal ab davon, dass der Code nur so nach einer SQL-Injection schreit, wird es die "alten" MySQL-Funktionen von PHP in naher Zukunft nicht mehr geben. Die sind aktuell schon als deprecated markiert - lieber das MySQLi-Interface benutzen. Das beherrscht nebenbei auch Prepared Statements, mit denen sich SQL-Injections effektiv verhindern lassen.
    sry, habe php bisher nur in Grundlagen gelernt und da lernt bzw lernte man es nur so. musst hier nicht gleich so Kritisieren weil andere keine Zeit haben immer das Neuste von etwas zu lernen was sie mal irgendwann gelernt hatten.