Summe bei Vote

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Summe bei Vote

    Ich steht vorm Tor und kommt nicht rein *habbrettvormkopf*.

    Wie errechne ich die Summe bei meinen Voting-Script?

    Die Tabelle hat folgenden Aufbau:
    id = auto_increment
    un = smallinit / Kommt aus der Tabelle auswahl. hiermit wird das Vot bestimmt.
    auswahl = tinyint / Kommt aus der Tabelle umfrage. hiermit wird das voting bestimmt, was er abgestimmt hat.
    ip = varchar / Remote_addr
    zeit = timestamp

    Ein Datensatz hat folgenden Aufbau:
    $id = 16 / auto_increment
    $un = 3 / Ändert sich je nach Umfrage
    $auswahl = 15 / Die Antwort
    $ip = 127.0.0.1 / Die IP-Adresse des Useres
    $zeit = 20020610201054 / Der Zeitstempel erstellt aus
    Code:
    date("YmdHis")
    Wie rechne ich nun alle Datensätze die un == un und auswahl == auswahl sind zusammen und lass mir das Ergebnis dafür anzeigen.
    Zuletzt geändert von Wotan; 10.06.2002, 21:27.
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    Probier mal[font=courier][color=darkblue]
    SELECT count(*) AS anzahl, un, auswahl FROM tabelle GROUP BY un, auswahl
    [/color][/font]
    Immer erst mal gucken, ob Benzin im Tank ist ...

    Kommentar


    • #3
      So sieht momentan mein Script aus:
      Code:
      <?php
      include("../inc/db_data.inc.php");
      echo "Ergebnis<br><br>\n";
      
      $r = mysql_query("SELECT count(id) FROM u_replies WHERE un=$un");
      $anz = mysql_result($r,0);
      
      echo "Teilnehmer $anz<br><br>\n";
      
      
      $res3 = mysql_query("SELECT count(*) AS anzahl, un, auswahl FROM u_replies GROUP BY un, auswahl");
      $anz3 = mysql_result($res3,0);
      echo "$anz3<br>\n";
      ?>
      und das ist die Ausgabe:

      Ergebnis

      Teilnehmer 8

      2


      Aber so soll es aussehen:
      Ergebnis

      Teilnehmer 8
      gefällt mir = 2
      geht so= 3
      gefällt mir nicht = 3


      Die Vots sollen aus der Tabelle u_auswahl geholt werden und errechnet werden wieviel sich dafür entschieden haben.

      In der Tabelle u_replies stehen die Abstimmungen wie im ersten Post geschrieben. In der Tabelle u_umfragen steht die Frage.

      Die Tabelle u_umfrage hat folgenden Aufbau:
      id smallint(6) NOT NULL auto_increment
      fragestellung text NOT NULL // Die Frage
      ipsperre enum('0','1') NOT NULL default '0' // Mit IPsperre
      cookiesperre enum('0','1') NOT NULL default '0' // Mit Cookiesperre
      active enum('0','1') NOT NULL default '1' // Ist diese Umfrage activ

      Die Tabelle u_auswahl hat folgenden Aufbau:
      id int(11) NOT NULL auto_increment
      auswahl varchar(40) NOT NULL default '' // hier weden die Antworten gestellt
      un smallint(6) NOT NULL default '0' // hier ist die ID aus u_umfragen
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        PHP-Code:
        echo "Ergebnis<br><br>\n";

        $r mysql_query("SELECT count(*) as num FROM u_replies WHERE un=$un");
        $anz mysql_result($r,0);

        echo 
        "Teilnehmer $anz<br><br>\n";

        $res3 mysql_query("SELECT count(*) AS anzahl, auswahl FROM u_replies WHERE un=$un GROUP BY un, auswahl");
        while (
        $row mysql_fetch_array($res3)) {
          echo 
        "$row[auswahl] = $row[anzahl]<br>\n";
          } 
        Ausgabe meines Tests:
        [font=courier]
        Teilnehmer 7

        gefällt mir = 3
        gefällt mir ganz gut = 2
        gefällt mir nicht = 2
        [/font]
        Immer erst mal gucken, ob Benzin im Tank ist ...

        Kommentar


        • #5
          jetzt hab ich es so geändert:
          PHP-Code:
          echo "Ergebnis<br><br>\n";

          $r mysql_query("SELECT count(*) as num FROM u_replies WHERE un=$un");
          $anz mysql_result($r,0);

          echo 
          "Teilnehmer $anz<br><br>\n";

          $res mysql_query("SELECT * FROM u_auswahl WHERE un=$un");
          while (
          $ro mysql_fetch_array($res))
              {
              
          $res3 mysql_query("SELECT count(*) AS anzahl FROM u_replies WHERE id=$ro[id] GROUP BY un, auswahl");
              while (
          $row mysql_fetch_array($res3))
                  {
                  echo 
          "$ro[auswahl] = $row[anzahl]<br>\n";
                  }
              } 
          und als Ausgabe bekomme ich das:
          Ergebnis

          Teilnehmer 9

          Gefällt mir nicht = 1
          Geht so = 1
          Gefällt mir = 1

          Jetzt wertet er nicht mehr richtig aus. Aber wieso?
          *winks*
          Gilbert
          ------------------------------------------------
          Hilfe für eine Vielzahl von Problemen!!!
          http://www.1st-rootserver.de/

          Kommentar


          • #6
            Hat sich erledigt!!!!!!

            Habe jetzt das Script so geändert und es Klappt:
            PHP-Code:

            $r 
            mysql_query("SELECT count(*) as num FROM u_replies WHERE un=$un");
            $anz mysql_result($r,0);

            echo 
            "Teilnehmer $anz<br><br>\n";

            $res3 mysql_query("SELECT count(*) AS anzahl, auswahl FROM u_replies WHERE un=$un GROUP BY un, auswahl");
            while (
            $row mysql_fetch_array($res3))
                {
                
            $an $row[anzahl];
                
            $res mysql_query("SELECT * FROM u_auswahl WHERE id=$row[auswahl] GROUP BY un, auswahl");
                while (
            $ro mysql_fetch_array($res))
                    {
                    echo 
            "$ro[auswahl] = $an<br>\n";
                    }
                } 
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar

            Lädt...
            X