Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] System Ocen, jak ?
fredzio90
post
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

Ostrzeżenie: (0%)
-----


otóż chciałbym zrobić ranking DJ-ow, i chciałbym aby on polegał na takim systemie oceniania. PRzykłądowo mamy 100 wpisów ( DJ-i ) każdy ma na swoim koncie 1 głos ( 1 głos == 1 pkt ) i każdy z tych wpisów ma 1 % głosów...

przykład: http://topdj.pl/index.php?ranking=pDJ

i jeżeli moglibyście podpowiedzieć mi jak mógłbym zrobic opcję wycofywania głosów.... ( Cookie odpada )
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
fredzio90
post
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 19.02.2007

Ostrzeżenie: (0%)
-----


oki dałem coś takiego:

  1. <?php
  2. $sql = mysql_query("SELECT * FROM $rank_dj_tbl WHERE typ='ok'");
  3. $numb = @mysql_num_rows($sql);
  4. $il_glosow = $r['il_glosow'];
  5.  
  6. $rate = ($il_glosow*100)/$numb;
  7. ?>


i pokazuje jako:

  1. <?php
  2. '.round($rate, 20).'
  3. ?>


i gdy klikam na głosuj ( funckja vote_sql )

  1. <?php
  2. function vote_sql() {
  3. global $rank_dj_tbl, $id, $PHP_SELF, $cmd;
  4. $sql = mysql_query("UPDATE $rank_dj_tbl SET il_glosow=il_glosow+1 WHERE title='$id'");
  5.  
  6. header("Location: $PHP_SELF");
  7.  
  8. }
  9. ?>


to dodaje ten punkt, ale poten gdy mam np. 2 wpisy, dodaje dodaje i suma tych głosów nie jest równa 100 % tylko dodałem klika głosów i jest np 150 i 150....

a cała funckja wygląda tak:

  1. <?php
  2. function top30() {
  3. global $rank_dj_tbl, $id, $PHP_SELF;
  4.  
  5. $sql = mysql_query("SELECT * FROM $rank_dj_tbl WHERE typ='ok' LIMIT 30");
  6. $numb = @mysql_num_rows($sql);
  7.  
  8. if($numb=='0') {
  9. echo '<br /><center>Brak Dodanych DJ-ow</center><br />';
  10.  
  11. } else {
  12.  
  13. echo '<table width="97%" align="center" border="0" frame="box">
  14. <tr>
  15. <td bgcolor="'.$color[6].'" class="uni_01" align="center"><b><font color="'.$color[7].'">Pseudo:</td>
  16. <td bgcolor="'.$color[6].'" class="uni_01" align="center"><b><font color="'.$color[7].'">Ocena:</td>
  17. <td bgcolor="'.$color[6].'" class="uni_01" align="center"><b><font color="'.$color[7].'">Głosuj:</td>
  18. </tr>';
  19. $sql = mysql_query("SELECT * FROM $rank_dj_tbl WHERE typ='ok'");
  20. $numb = @mysql_num_rows($sql);
  21. while ($r = mysql_fetch_array($sql)) {
  22.  
  23. $pseudo = $r['title'];
  24. $il_glosow = $r['il_glosow'];
  25.  
  26. $rate = ($il_glosow*100)/$numb;
  27.  
  28. if($a==5) {
  29. $bg = $color[6];
  30. $a = 0;
  31. } else {
  32. $bg = $color[5];
  33. $a = 5;
  34. }
  35.  
  36.  
  37.  
  38. echo '<tr>
  39. <td bgcolor="'.$bg.'" class="uni_01" align="center"><a href="'.$PHP_SELF.'?cmd=profil&id='.$pseudo.'">'.$pseudo.'</a></td>
  40. <td bgcolor="'.$bg.'" class="uni_01" align="center">'.round($rate, 20).'</td>
  41. <td bgcolor="'.$bg.'" class="uni_01" align="center"><a href="'.$_SERVER[PHP_SELF].'?cmd=glosuj&id='.$pseudo.'">Głosuj</a></td>
  42. </tr>
  43. '; 
  44. }
  45.  
  46. echo "</table>";
  47.  
  48. }
  49.  
  50.  
  51.  
  52. }
  53. ?>


i niestety suma wszystkich ocen nie jest równa 100

pomoglibyście ? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował fredzio90 24.06.2007, 16:10:43
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 15:34