Autor Zpráva
infomf
Profil
Ahoj,
mám PHP kód, která mi vypíše známky z databáze. Mám i zjištěný počet záznamů:
<?php   
    $predmet=$_POST["predmet"];
     mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD);
      mysql_select_db(SQL_DBNAME);
      mysql_query("SET NAMES 'utf8'");
      $sql = "select * from martin_fiala_2001_a where predmet_a = '".$_POST["predmet"]."';";
      $vysledek = mysql_query($sql);
      $radku=mysql_num_rows($vysledek);
      if ($radku==0) echo "Předmět ".$_POST["predmet"]." nemá, bohužel, žádné známky. Proto se nedá vypočítat průměr.";
      else
      { 
      echo "Předmět ".$_POST["predmet"]." má $radku známek:<BR>";
      while ($zaznam=MySQL_Fetch_Array($vysledek)):
        echo $zaznam["hodnoceni_a"].", ";
        $prumer ($zaznam["hodnoceni_a"])/$radku;
        echo "<br>Průměr zní ".$prumer;
      endwhile;
      };
      
?>


Potřebuji nějak vytvořit ten průměr. Můžete vidět, že jsem tam i s blbým, marným pokusem něco začal, ale tam sem i skončil. Má s stím někdo zkušenosti a mohl by poradit?
Alphard
Profil
Databáze umí spočítat průměr, ale abyste neměl zbytečně další dotaz, spočítejte ho v až aplikaci, tak, jak jste začel.
Nejdříve musíte získat součet známek, pak můžete dělit. Další možností je ukládat známky do pole a pak vypsat.

      while ($zaznam=MySQL_Fetch_Array($vysledek)):
        echo $zaznam["hodnoceni_a"].", ";
        $znamky[] = $zaznam["hodnoceni_a"]);
      endwhile;

echo round(array_sum($znamky) / count($znamky), 2);
infomf
Profil
Na 15 řádku ($znamky[] = $zaznam["hodnoceni_a"]);) je někde chyba:

Parse error: parse error in C:\wamp\www\skola2\clanek\prumer_znamek_b.php on line 15
Alphard
Profil
Zapomněl jsem odmazat ).
infomf
Profil
aha, díky. Tyto chyby se často přehlížejí :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0