Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z obliczeniami
Ulysess
post
Post #1





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


witam , napisałem skrypt który wyświetla dane usera oraz oblicza czy wartość jest wyższa od poprzedniej , jeśli tak strzałka w górę jeśli nie w dół . nie wiem czemu ale skrypt źle działa i niestety nie znam przyczyny tego..
skrypt wygląda następująco:
  1. $date = $_GET['data'];
  2.  
  3. if($_SESSION['vip'] == 2)
  4. {
  5. $tr_naglowek = '<td class="itemnazwa">Delete</td>';
  6. }
  7.  
  8. echo '<table class="itemy">
  9. <tr class="c" onMouseOver="this.className=\'d\'" onMouseOut="this.className=\'c\'">
  10. <td class="itemnazwa">L.p</td>
  11. <td class="itemnazwa">Nick</td>
  12. <td class="itemnazwa">Level</td>
  13. <td class="itemnazwa">Punkty</td>
  14. <td class="itemnazwa">Data</td>
  15. '.$tr_naglowek.'
  16. </tr>';
  17. $l = 1;
  18. $p = 0;
  19.  
  20. $zapytanie['logs_players'] = "SELECT a.`name`,b.`level`,b.`points`,b.`time` FROM `list_of_players` a LEFT JOIN `rank_points` b ON a.`id` = b.`id_char` WHERE a.`server` = '".mysql_real_escape_string($world)."' AND a.`name` = '".mysql_real_escape_string($nick)."' AND b.`date` = '".mysql_real_escape_string($date)."' ORDER BY b.`date`,b.`time` DESC LIMIT 1000";
  21. //echo $zapytanie['logs_players'];
  22. $wykonano_zapytanie['logs_players'] = mysql_query($zapytanie['logs_players']) or die(mysql_error());
  23.  
  24.  
  25. $qn = 0;
  26. while($dane = mysql_fetch_assoc($wykonano_zapytanie['logs_players']))
  27. {
  28. $tablica_level[$qn] = $dane['level'];
  29. $tablica_points[$qn] = $dane['points'];
  30. $tablica_points_mieszane[$qn] = $dane['points'];
  31. $tablica_time[$qn] = $dane['time'];
  32. $tablica_nick = $dane['name'];
  33. ++$qn;
  34. }
  35.  
  36. $liczba_rekordow = ($qn-1);
  37.  
  38. $tablica_odwrocona = array_reverse($tablica_points_mieszane);
  39.  
  40. //echo $tablica_odwrocona[0],' / ',$tablica_points[0],'<br>';
  41.  
  42. for($v=0;$v <= $liczba_rekordow;++$v)
  43. {
  44. if($_SESSION['vip'] == 2)
  45. {
  46. $tr_tresc = '<td class="itemy"><a href="index.php?page=profil_punkty&s='.$world.'&nick='.$nick.'&id_del='.$dane_acc['id'].'">X</a></td>';
  47. }
  48.  
  49.  
  50. $obliczenie = number_format($tablica_odwrocona[$v]-$tablica_odwrocona[$v-1],0,0,'');
  51.  
  52. echo $tablica_odwrocona[$v],' / ',$tablica_odwrocona[$v-1],' = ',$obliczenie,' ['.$v.']<br>';
  53.  
  54. if($obliczenie >= 0)
  55. {
  56. $img = '<img src="style/up.jpg" alt="Wzrost" height="8" width="9" />';
  57. }
  58. else
  59. {
  60. $img = '<img src="style/down.jpg" alt="Spadek" height="8" width="9" />';
  61. }
  62.  
  63. ++$p;
  64.  
  65. <tr class="c" onMouseOver="this.className=\'b\'" onMouseOut="this.className=\'c\'">
  66. <td class="itemy"><i><b>'.$l.'</b></i></td>
  67. <td class="itemy">'.$tablica_nick.'</td>
  68. <td class="itemy">'.$tablica_level[$v].'</td>
  69. <td class="itemy">'.number_format($tablica_points[$v],0,0,'.').' ['.$img.']</td>
  70. <td class="itemy">'.$tablica_time[$v].'</td>
  71. '.$tr_tresc.'
  72. </tr>';
  73. ++$l;
  74. }
  75. echo '</table>';
  76.  
  77. $wynik1 = $tablica_points[0] - $tablica_points[$liczba_rekordow];
  78. $wynik2 = ($wynik1*100)/$tablica_points[$liczba_rekordow];
  79. $wynik2 = round($wynik2,5);
  80.  
  81. if($wynik2 < 0)
  82. {
  83. $klasa = 'procent2';
  84. $img = '<img src="style/down.jpg" alt="Spadek" height="8" width="9" />';
  85. }
  86. else
  87. {
  88. $klasa = 'procent';
  89. $img = '<img src="style/up.jpg" alt="Wzrost" height="8" width="9" />';
  90. }
  91.  
  92. <table class="itemy" style="margin-top: 20px;">
  93. <tr class="c" onMouseOver="this.className=\'b\'" onMouseOut="this.className=\'c\'">
  94. <td class="itemy">Przyrost: '.number_format($wynik1,0,0,'.').' Punktów</td>
  95. <td class="itemy">(<span class="'.$klasa.'">'.$wynik2.'</span>%) ['.$img.']</td>
  96. </tr>
  97. </table>';


poniżej zamieszczam link do screena na którym widać błędne działanie skryptu (ze strzałkami)
http://knights.evuzo.com/capture_04112011_190918.jpg
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: 22.08.2025 - 13:55