prozent berechnen

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

  • prozent berechnen

    Okay , zugegeben , 2 Fragen an einem Tag sind schon etwas heftig , aber ich habs script ja bald feddig und dann bin ich wieder ruhig für ne weile *g* . Aber nun :

    Ich möchte bei meinem Pollscript die prozentzahl der votes angeben , und habe dazu folgenden code geschrieben, der so wie er momentan ist aber nicht funktioniert Bräuchte wieder einmal eure hilfe :

    PHP-Code:
    <?php
    $id 
    $_GET['id'];

    include(
    'varncs.php');
    $link=mysql_connect("$dbserver","$dbuser","$dbpass") or die("Keine Verbindung möglich!<br />".mysql_error()."<p />");
    mysql_select_db("usr_web216_1") or die("Auswahl der Datenbank fehlgeschlagen<br />".mysql_error()."<p />");

     
    $result mysql_query("select * from poll_antworten") or die("Anfrage fehlgeschlagen<br />".mysql_error()."<p />");
       
    $anzahl 0;
        while(
    $row mysql_fetch_array($result))
         {
         
    $anzahl += $row["hits"];
          }



    echo 
    $anzahl

     
    while($row1 mysql_fetch_array($result))
    {
    $p1 = ($row1["hits"]*100)/$anzahl;
    }

    echo 
    $p1;


    ?>
    "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
    (Henry Mon)


    http://www.diggicell.de

    Nun auch mit neuen Inhalten

  • #2
    $p1 = ($row1["hits"]*100)/$anzahl;
    Sicherheitshalber ne Klammer um alles nach dem " = "
    also so:
    PHP-Code:
    $p1 = (($row1["hits"]*100)/$anzahl); 
    Was bringt er für nen Fehler?
    EDIT:
    Verdammt, warum kann ich in PHP-Tags nichts fett machen?
    Zuletzt geändert von XGremliN; 30.09.2003, 13:57.
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      Parse error: parse error, unexpected T_WHILE, expecting ',' or ';' in /home/www/web216/html/voteface.php on line 19

      Dass der Fehler
      "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
      (Henry Mon)


      http://www.diggicell.de

      Nun auch mit neuen Inhalten

      Kommentar


      • #4
        welche Zeile ist Zeile 19?
        EDIT:
        Verdammt, schon wieder falsch gekuckt.
        Mach mal hinter dem echo $anzahl ein " ; " rein!

        Zuletzt geändert von XGremliN; 30.09.2003, 14:07.
        it's not a bug,
        it's a feature!

        Kommentar


        • #5
          oha , das hätt ich auch sehen können Nun läuft es zwar fehlerfrei durch , aber die Prozentzahl wird net angesagt
          "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
          (Henry Mon)


          http://www.diggicell.de

          Nun auch mit neuen Inhalten

          Kommentar


          • #6
            Dann schreib mal deine while-Schleife so um:
            PHP-Code:
            $row1 mysql_fetch_array($result);
             while(
            $row1)
            {
            $p1 = ($row1["hits"]*100)/$anzahl;
            }

            echo 
            $p1
            Erklärung: while (vergleichdervariablenmiteinemwert) {Anweisungen;}
            Du hattest eine Wertzuweisung im while-Ausdruck.
            it's not a bug,
            it's a feature!

            Kommentar


            • #7
              ne , bringt auch nichts. Der sagt genauso wenig wie vorher...
              "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
              (Henry Mon)


              http://www.diggicell.de

              Nun auch mit neuen Inhalten

              Kommentar


              • #8
                dann mach mal anstatt $row1["hits"] lieber $row1[indexnummer_von_hits];
                Aber denk dran der Index geht bei 0 los!
                it's not a bug,
                it's a feature!

                Kommentar


                • #9
                  sry , musste noch arbeiten . Auch das liefert nicht den gewünschten erfolg
                  "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
                  (Henry Mon)


                  http://www.diggicell.de

                  Nun auch mit neuen Inhalten

                  Kommentar


                  • #10
                    Dann sieh dir mal die while-Schleife weiter oben unter $result an.
                    Da machst du auch den Fehler mit der Wertzuweisung.
                    Bastel das mal um und sag dann, was passiert.
                    it's not a bug,
                    it's a feature!

                    Kommentar


                    • #11
                      PHP-Code:
                      while ($row=mysql_fetch_array($result)) 
                      is schon ok, lass das mal, bzw. bau das wieder ein

                      dein fehler liegt woanders:
                      du gehst alle datensätze durch um die gesamtzahl der hits zu bestimmen.

                      danach gehst du die restlichen datensätze durch um die prozentuale verteilung zu bestimmen.

                      wenn du aber schon ganz am ende bist, welche datensätze kannst du dann noch durchgehen?

                      mach zwischen die beiden schleifen mal
                      PHP-Code:
                      mysql_data_seek($result,0); 
                      und probier dann nochma

                      oder mach die erste abfrage so
                      Code:
                      SELECT SUM(hits) hits FROM poll_antworten
                      is wahrscheinlich eh besser.

                      btw: hast du in poll_antworten nur antworten für eine einzige umfrage?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Ach das
                        PHP-Code:
                        while ($row=mysql_fetch_array($result)) 
                        geht??

                        Ich dachte immer, dass eine Wertzuweisung in einer Schleifenbe´dingung nicht erlaubt sei.
                        it's not a bug,
                        it's a feature!

                        Kommentar


                        • #13
                          guckst du manual
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            OK genehmigt.

                            Hatte im Buch (ja so richtig mit Papier ) "Jetzt lerne ich PHP4" nachgeschlagen. Da steht im Kapitel 22, Abschnitt 6, Seite 412 unten:
                            Der Fehler in folgendem Beispiel [...] heimtückisch:
                            if ( $test = 4 )
                            {
                            print "$test ist 4<P>\n";
                            }
                            Wir haben $test den Wert 4 zugewiesen, statt die beiden Werte zu vergleichen. ...
                            Daher dachte ich nicht dass das so geht wie Diggi es geschrieben hatte.
                            it's not a bug,
                            it's a feature!

                            Kommentar


                            • #15
                              sodale , ich habe mitlerweile selber ein bisschen am script rumgeschraubt und folgendes auf die beine gestellt

                              voteface.php

                              PHP-Code:
                              <?php
                              $id 
                              $_GET['id'];
                              include(
                              'var.inc.php');
                              $link=mysql_connect("$dbserver","$dbuser","$dbpass") or die("Keine Verbindung möglich!<br />".mysql_error()."<p />");
                              mysql_select_db("usr_web216_1") or die("Auswahl der Datenbank fehlgeschlagen<br />".mysql_error()."<p />");

                               
                              $result mysql_query("select hits from poll_antworten") or die("Anfrage fehlgeschlagen<br />".mysql_error()."<p />");
                                 
                              $anzahl 0;
                                  while(
                              $row mysql_fetch_array($result))
                                   {
                                   
                              $anzahl += $row["hits"];
                                    }



                              echo 
                              "Das ist die anzahl:$anzahl";

                              include (
                              'prozent.php');

                              ?>

                              <input type="Submit" name="go" value="Ab dafür">
                              </form>

                              prozent.php
                              PHP-Code:
                              <?php
                              include('var.inc.php');
                              $link=mysql_connect("$dbserver","$dbuser","$dbpass") or die("Keine Verbindung möglich!<br />".mysql_error()."<p />");
                              mysql_select_db("usr_web216_1") or die("Auswahl der Datenbank fehlgeschlagen<br />".mysql_error()."<p />");

                              $query "SELECT * FROM poll_antworten WHERE id='$id' ";
                              $result mysql_query($query) or die("Anfrage fehlgeschlagen<br />".mysql_error()."<p />");  

                              $line2 mysql_fetch_array($resultMYSQL_ASSOC);
                              {
                              $p1 = ($line2["hits"]*100/$anzahl);
                              }
                              $foo round ($p1); 


                              $line mysql_fetch_array($resultMYSQL_ASSOC);
                              {
                              echo 
                              $foo;
                              }

                              ?>
                              und folgendes ist die ausgabe der beiden scripte :

                              Das ist die anzahl:31 Das die prozentzahl:0

                              Aber warum ?
                              "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
                              (Henry Mon)


                              http://www.diggicell.de

                              Nun auch mit neuen Inhalten

                              Kommentar

                              Lädt...
                              X