Prozent-Ausgabe bei Poll-Script

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

  • Prozent-Ausgabe bei Poll-Script

    Hi,

    ich habe Probleme mit der Ausgabe von Prozent Zahlen.
    Folgende Situation:
    Ich hab eine Tabelle (MySQL-Datenbank) mit einer Spalte clicks, die Werte werden bei der Ausgabe im Browser verschiedenen Fragen zugeordnet, praktisch ein Poll-Script. Wie kann ich aber den prozentualen Anteil an allen Clicks ausgeben (ausrechnen)?

    Hoffe jemand hat eine Funktion oder ähnliches?!

    Danke,
    Sir Holmes

  • #2
    willst du wissen, wie du die Prozentzahlen ausrechnest? Oder habe ich da was falsch verstanden?

    naja, ich würde folgendes machen:
    Code:
    $all=mysql_query("select sum(spalte_clicks) as alle from tabellenname");
    $alle=mysql_result($all,0,"alle");
    
    und dann beim auslesen der Werte (Schleife):
    
    $prozent=$aktueller_wert/$alle*100;
    falls du was ganz anderes wissen wolltest, erklär es nochmal bitte.

    Kommentar


    • #3
      hi BrainBug,

      danke für Dein Script. Das trifft genau das Problem, nur funktioniert es leider nicht, wie es soll: es kommen immer 0% raus, auch wenn schon Clicks vorhanden sind!


      Sir Holmes

      Kommentar


      • #4
        dann solltest du vielleicht mal dein Skript posten, da wohl irgendwo ein Fehler sich eingeschlichen hat.

        Als Kontrolle kannst du dir ja mal
        echo "Gesamtanzahl: ".$alle;
        ausgeben lassen. Wenn da schon mal ne Zahl steht, geht es bis dahin. Muß eigentlich auch.
        Dann schauen wir mal weiter....

        Kommentar


        • #5
          Hi,

          ich noochmal. Hab das nochmal ausprobiert, das funktioniert bis dahin.
          Hab auch den Fehler gefunden, denk ich: Ich hab bereits eine andere Schleife zum Auslesen anderer Daten aus der Tabelle; ich weiss nur nicht wie ich diese zweite Schleife da noch mit unter bringen soll!
          Vielleicht kannst Du mir ja mal zeigen, wie das laufen soll.
          Vielen Dank schon mal!

          Sir Holmes

          Hier das Script:

          <?php
          include("connection_data.php3"); // Verbindung zur Datenbank

          function send_sql($db,$sql){
          if (! $result=mysql_db_query($db,$sql)){
          echo mysql_error();
          exit;
          }
          return $result;
          }

          $dblk=connect();

          $sql="SELECT * FROM t_poll21 ORDER BY clicks DESC";


          if ($result=send_sql($db,$sql)){

          echo "<table width=500 border=1 align=\"center\" cellspacing=1 cellpadding=4 bordercolor=\"#000000\">\n";
          echo "<tr>\n";
          echo "<td height=30 bgcolor=\"#6f99bf\"><div id=\"head\">poll-21</div></td>\n";
          echo "</tr>\n";
          echo "<tr>\n";
          echo "<td bgcolor=\"#003366\"><br><div id=\"txt\"><u>Ergebnis der Umfrage $name</u><br><br></div>\n";
          echo "<table width=498 align=\"center\">\n";

          if (mysql_num_rows($result)){
          while ($row=mysql_fetch_array($result)){

          $statement = $row['statement'];
          $clicks = $row['clicks'];

          echo "<tr>\n";
          echo "<td width=320><div
          id=\"txt\">$statement</div></td>\n";
          echo "<td width=178><div id=\"txt\">
          $clicks Stimmen</div></td>\n";
          echo "</tr>\n";
          }
          }

          echo "</table>\n";
          echo "</td>\n";
          echo "</tr>\n";
          echo "</table>\n";
          }
          ?>

          Kommentar


          • #6
            vielleicht so:
            Code:
            <?php 
            include("connection_data.php3"); // Verbindung zur Datenbank 
            
            function send_sql($db,$sql){ 
            if (! $result=mysql_db_query($db,$sql)){ 
            echo mysql_error(); 
            exit; 
            } 
            return $result; 
            } 
            
            $dblk=connect(); 
            
            // hier erstmal die Summe aller Clicks holen
            $all=mysql_query("select sum(clicks) as gesamt from t_poll21");
            $alle=mysql_result($all,0,"gesamt");
            
            $sql="SELECT * FROM t_poll21 ORDER BY clicks DESC"; 
            
            if ($result=send_sql($db,$sql)){ 
            
            echo "<table width=500 border=1 align=\"center\" cellspacing=1 cellpadding=4 bordercolor=\"#000000\">\n"; 
            echo "<tr>\n"; 
            echo "<td height=30 bgcolor=\"#6f99bf\"><div id=\"head\">poll-21</div></td>\n"; 
            echo "</tr>\n"; 
            echo "<tr>\n"; 
            echo "<td bgcolor=\"#003366\"><br><div id=\"txt\"><u>Ergebnis der Umfrage $name</u><br><br></div>\n"; 
            echo "<table width=498 align=\"center\">\n"; 
            
            if (mysql_num_rows($result)){ 
            while ($row=mysql_fetch_array($result)){ 
            
            $statement = $row['statement']; 
            $clicks = $row['clicks'];
            $prozent=$clicks/$alle*100;
            
            echo "<tr>\n"; 
            echo "<td width=320><div 
            id=\"txt\">$statement</div></td>\n"; 
            echo "<td width=128><div id=\"txt\">$clicks Stimmen</div></td>\n"; 
            echo "<td width=50><div id=\"txt\">$prozent Prozent</div></td>\n";
            echo "</tr>\n"; 
            } 
            } 
            
            echo "</table>\n"; 
            echo "</td>\n"; 
            echo "</tr>\n"; 
            echo "</table>\n"; 
            } 
            ?>
            habe noch eine kleine Spalte bei der Ausgabe für die Prozent eingefügt. Klappt's??

            Kommentar


            • #7
              danke,

              jetzt funktioniert alles! allerdings musste dieser part:

              $all=mysql_query("select sum(clicks) as gesamt from t_poll21");
              $alle=mysql_result($all,0,"gesamt");

              innerhalb der 1. if-anweisung stehen.


              Sir Holmes

              Kommentar

              Lädt...
              X