Problem bei einer ausgabe vom Durchschnittsbewertung

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

  • Problem bei einer ausgabe vom Durchschnittsbewertung

    Hallo,
    ich hab folgenden skript, der Titel und Autor ausgibt und jetzt auch die Bewertung ausgeben soll.

    PHP-Code:

    $sqlab  
    "SELECT id,titel,autor,counter,vote_anzahl,vote_value FROM tabelle ";
    $sqlab .= " WHERE kategorie LIKE '%$anf%' ORDER BY titel";
    $result_articles mysql_query ($sqlab,$ezine_db);





    echo 
    "
    <table border=0>
    <tr><td><b>Titel</b></td><td><b>Autor</b></td><td>Statistik&nbsp;&nbsp;</tr>
    "
    ;

    if (
    $num==0) echo "<tr><td><b>keine passenden Datensätze gefunden</b></td></tr>";

    while (
    $row=mysql_fetch_array($result_articles))

     {
      echo 
    "
      <tr>
      <td width=\"200\"><a href=\"text.php?id=
    $row[id]\">$row[titel]</a></td>
      <td>
    $row[autor]</td>
      <td>Hits: 
    $row[counter] &nbsp; Bewertung: [COLOR=crimson]????Durchschnittsbewertung????[/COLOR]  &nbsp; Stimmen: $row[vote_anz]</td>
      </tr>
      "
    ;
     } 
    EDIT:
    quote.tags entfernt und gegen php.tags ausgetauscht.


    Durchschnittsbewertung z.B. $vote_rating soll
    round(vote_value/vote_anzahl, 2);
    sein,

    wie baue ich das ein, damit die individuelle Durchschnittsbewertung für jeden Texttitel ausgegeben wird,
    es werden mehrer untereinander ausgegeben und bei meinen Versuchen
    entweder allein die bewertung vom ersten,
    oder statistik ohne bewertung oder gar nichts

    Bitte um hilfe
    Zuletzt geändert von Wotan; 25.08.2003, 17:37.

  • #2
    wie ises mit:
    Code:
    $sqlab  = "
    SELECT id,titel,autor,counter,ROUND(vote_value/vote_anzahl,2) bewertung
    FROM tabelle 
    WHERE kategorie LIKE '%$anf%' 
    ORDER BY titel";
    ??
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Dankeschön hat geklapt,
      jetzt habe ich aber schon wieder ein Problem,

      Mehrfachvoting wollte ich dadurch verhindern, dass ich einen Cookie setze,

      Mit folgenndem Skript:

      PHP-Code:
       if ($send)
      {
           if (!isset(
      $_COOKIE['name $id']))
             {
              
      //kein cookie
              
      $ablaufdatum time()+60*10*1//24 Stunden
              
      setcookie('name $id','http://www.seite.de',$ablaufdatum);
              }
            else
              {
                echo 
      "<center><font size='+1'>Vielen Dank! Du hast bereits für diesen Text gevotet,</font><p>";
                echo 
      "<center><font size='+1'>weshalb dieses mal nicht gewertet wird.</font><p>";
                echo 
      "<center><font size='+1'>zurück</a></font><p>";


              }

            if (
      $id=="" )
              {
                echo
                 
      "<center><font size='+1'>Leider ist ein Fehler aufgetreten.</font>
                <center><font size='+1'></font>"
      ;
              }
             else
             {
             require 
      "ezine_db.inc.php";
             
      $ezine_db ezine_connecte_db();

              
      $a $vote_anz +1;
              
      $v $vote_value $R1;

            
      $sql "UPDATE tabelle";
            
      $sql .= " SET vote_anz='$a', vote_value='$v' ";
            
      $sql .= "WHERE id = '$id'";

            
      mysql_query($sql$ezine_db);

            
      $num mysql_affected_rows();
            if (
      $num>0)
               {
                echo 
      "<center><font size='+1'>Ihre Bewertung / Vote wurde vermerkt.</font><p>";
                echo 
      "<center><font size='+1'>Vielen Dank!</font><p>";
                echo 
      "<center><font size='+1'>Zurück</a></font><p>";
               }
            else
            {
               echo 
      "<center><font size='+1'>Es ist ein Fehler aufgetreten, </font>";
               echo 
      "<center><font size='+1'>es wurde keine Bewertung vorgenommen.</font><p>";
               echo 
      "<center><font size='+1'></font><p>";
            }
            
      mysql_close($ezine_db);
            }
         }


      ?> 
      Ich bekomme aber den fehler und es wird trotzdem noch einmal gevotet:



      Warning: Cannot add header information - headers already sent by (output started at C:\apache\htdocs\02082003\texte\abstimmung2.php:8) in C:\apache\htdocs\02082003\texte\abstimmung2.php on line 246

      Line 246 fängt mit setcookie an ...

      bitte um hilfe und danke im vorraus
      Zuletzt geändert von flo; 25.08.2003, 22:54.

      Kommentar


      • #4
        Original geschrieben von flo
        output started at C:\apache\htdocs\02082003\texte\abstimmung2.php:8
        da liegt der hund begraben

        vor setcookie darf keine ausgabe an den browser erfolgen
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Achso, der Code muss also nach ganz oben in den head

          Dankeschön

          Kommentar


          • #6
            Kann ich eigentlich aus dem Setcookie oder verweigern eine Funktion machen, und den cookie am anfang der seite dann ausführe und den rest irgendwo mitten drin oder den cookie verweigern und deswegen nur mitten drinn einen Text ausgeben?
            Wie mache ich das?

            Kommentar


            • #7
              hä?

              setzen musst du ihn vor der ausgabe, aber prüfen kannst du wo immer du willst
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar

              Lädt...
              X