Autor Zpráva
Mephysto
Profil *
nevedel by niekto spravi formular na hodnotiene clankov ktory by ukazoval priemernu zmanku clanku a kolko ludi hlasovalo?
BaTeCzKo
Profil
Pomocí PHP+MySQL snadno. Stačila by asi jedna tabulka s těmito sloupci:

idclanku | hlasu | prumer | celkem


formular by mohl vypadat takto (hlasovalo by se kliknutím např. na obrázek):

<a href="hodnoceni.php?idclanku=n&amp;znamka=1"><img src="1.jpg" alt="1"></a>
<a href="hodnoceni.php?idclanku=n&amp;znamka=2"><img src="2.jpg" alt="2"></a>
<a href="hodnoceni.php?idclanku=n&amp;znamka=3"><img src="3.jpg" alt="3"></a>
<a href="hodnoceni.php?idclanku=n&amp;znamka=4"><img src="4.jpg" alt="4"></a>
<a href="hodnoceni.php?idclanku=n&amp;znamka=5"><img src="5.jpg" alt="5"></a>


hodnoceni.php:

/* nacteni idclanku a znamka */
$idclanku=$_GET['idclanku'];
$idclanku=addslashes($idclanku);
$znamka=$_GET['znamka'];
$znamka=addslashes($znamka);

/* nacteni hodnot pro vypocet */
$hodnoty=mysql_query("SELECT hlasu,prumer,celkem FROM hodnoceni WHERE id=$idclanku");
$hodnoty=mysql_fetch_array($hodnoty);

$hlasu=$hodnoty['hlasu'];
$prumer=$hodnoty['prumer'];
$celkem=$hodnoty['celkem'];

/* vypocet novych hodnot */
$hlasu++;
$celkem=$celkem+$znamka;
$prumer=$celkem/$hlasu;

/* aktualizace */
mysql_query("UPDATE hodnoceni SET hlasu=$hlasu WHERE id=$idclanku");
mysql_query("UPDATE hodnoceni SET celkem=$celkem WHERE id=$idclanku");
mysql_query("UPDATE hodnoceni SET prumer=$prumer WHERE id=$idclanku");


... tak to je vše. Chybí snad už jen ochrana před vícenásobným hlasováním a kontrola vstupního parametru znamka. Omluvte prosím všechny syntax error. :)
Mephysto
Profil *
neviete ako by sa tam dala este pridat ta ochrana pred viacnasobnim hlasovanim?
Hugo
Profil
Mephysto

Těžko, spolehlivá metoda neexistuje. Nejlepší je asi kontrola IP + cookies.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0