Mam następujący problem związany ze zliczaniem.
Na localhoscie kod wykonuje się prawidłowo i ziczany jest prawidłowy wynik, natomiast to samo wygenerowane na serwerze gdzie znajduje się strona daje zupełnie inny wynik!!!

Poniżej przedstawiam kod i wyniki (prawidłowy i nieprawidłowy):

  1. <?php
  2. if ($pass == 1) {
  3. //podczas wyswietlania danych dodatkowo wykonywane sa wszystkie obliczenia do tabe
  4. ki z podsumowaniem
  5. $id1_name_m = $id1_name_dane[&#092;"Name\"];
  6. $id2_name_m = $id2_name_dane[&#092;"Name\"];
  7. echo '<p>Zestawienie wszystkich gier pomiędzy '.$id1_name_m.' oraz '.$id2_name_m.'</p>';
  8. echo '<div class=\"frame\">';
  9. echo '<table class=\"zestawienie\"><tr><td>Turniej</td><td> Gospodarz </td><td> Pkt </td><td>vs.</td><td>Pkt</td><td>Gość</td></tr> ';
  10. while ($vs_dane = mysql_fetch_array($vs_tab)) {
  11. $id1_name = $vs_dane[&#092;"HostName\"];
  12. $id2_name = $vs_dane[&#092;"GuestName\"];
  13. if ($vs_dane[&#092;"RoznicaPkt\"] == 0) {
  14. //gdy remis
  15. $sum_level++;
  16. $sum_pkt_id1 = $sum_pkt_id1 + $vs_dane[&#092;"HostPoints\"];
  17. $sum_pkt_id2 = $sum_pkt_id2 + $vs_dane[&#092;"GuestPoints\"];
  18. }
  19. else if ($vs_dane[&#092;"RoznicaPkt\"] > 0) {
  20. //gdy roznica dodatnia
  21. if ($vs_dane[&#092;"HostID\"] == $id1) {
  22. $sum_won_id1++;
  23. $sum_pkt_id1 = $sum_pkt_id1 + $vs_dane[&#092;"HostPoints\"];
  24. $sum_pkt_id2 = $sum_pkt_id2 + $vs_dane[&#092;"GuestPoints\"];
  25. }
  26. else {
  27. // gdy gospodarzem bedzie $id2
  28. $sum_won_id2++;
  29. $sum_pkt_id1 = $sum_pkt_id1 + $vs_dane[&#092;"GuestPoints\"];
  30. $sum_pkt_id2 = $sum_pkt_id2 + $vs_dane[&#092;"HostPoints\"];
  31. }
  32. }
  33. else if ($vs_dane[&#092;"RoznicaPkt\"] < 0) {
  34. // gdy roznica bedzie ujemna tzn pierwszy gracz przegral
  35. if ($vs_dane[&#092;"HostID\"] == $id1) {
  36. $sum_won_id2++;
  37. $sum_pkt_id1 = $sum_pkt_id1 + $vs_dane[&#092;"HostPoints\"];
  38. $sum_pkt_id2 = $sum_pkt_id2 + $vs_dane[&#092;"GuestPoints\"];
  39. }
  40. else {
  41. // gdy gospodarzem bedzie $id2 tzn gracz $id1 wygral
  42. $sum_won_id1++;
  43. $sum_pkt_id1 = $sum_pkt_id1 + $vs_dane[&#092;"GuestPoints\"];
  44. $sum_pkt_id2 = $sum_pkt_id2 + $vs_dane[&#092;"HostPoints\"];
  45. }
  46. }
  47.  
  48. //wyswietlenie informacji o grach ze sobą 
  49. echo '<tr><td>'.$vs_dane[&#092;"TurnID\"].'</td><td><a href=\"index.php?subsite=klub.php&SelGraczID='.$vs_dane[\"HostID\"].'\">'.$id1_name.'</a></td>
  50. <td>'.$vs_dane[\"HostPoints\"].'</td><td>vs</td><td>'.$vs_dane[\"GuestPoints\"].'</td>
  51. <td><a href=&#092;"index.php?subsite=klub.php&SelGraczID='.$vs_dane[\"GuestID\"].'\" class=\"txt\">'.$id2_name.'</a></td></tr>';
  52. }
  53. echo '</table>';
  54. echo '</div>';
  55. }
  56.  
  57. //zestawienie wygranych przegranych i remisow i innych statystyk
  58. if ($pass == 1) {
  59. echo '<p>'.$id1_name_m.' : '.$id2_name_m.'</p>';
  60. echo '<div class=\"frame\">';
  61. //**********************************************************88
  62. //poczatek tabeli
  63. echo '<table class=\"zestawienie\"><tr><td>'.$id1_name_m.'</td><td> [ ? ]</td><td>'.$id2_name_m.'</td></tr>
  64. <tr><td>'.$sum_won_id1.' / '.$vs_sum.'</td><td>wygranych</td><td >'.$sum_won_id2.' / '.$vs_sum.'</td></tr>
  65. <tr><td>'.$sum_level.' / '.$vs_sum.'</td><td >remisów</td><td >'.$sum_level.' / '.$vs_sum.'</td></tr>
  66. <tr><td>'.($vs_sum-$sum_level-$sum_won_id1).' / '.$vs_sum.'</td><td>porażek</td><td >'.($vs_sum-$sum_level-$sum_won_id2).' / '.$vs_sum.'</td></tr>
  67. <tr><td>'.$sum_pkt_id1.'</td><td>suma MP</td><td >'.$sum_pkt_id2.'</td></tr>';
  68. printf ('<tr><td>%.2f</td><td>średnia MP na mecz</td><td >%.2f</td></tr>',$sum_pkt_id1/$vs_sum,$sum_pkt_id2/$vs_sum);
  69. //gdy nie rozegrali z sobą meczu to nie mozna policzyc sredniej !!
  70. //zakonczenie tabeli
  71. echo '</table>';
  72. echo '</div>';
  73. }
  74. ?>


W kodzie znajduje się część obliczająca zwycięstwa gracza pierwszego i drugiego ($id1 oraz $id2).
Problem polega na tym, że na localhoscie $sum_won_id1 oraz $sum_won_id2 ma wartosc 1 na serwerze zas odpowiednio 0 i 2. Dla pewnego zapytania.

Jak to działa w praktyce moszna zobacyć TUTAJ
Jak widać z wyświetlonych wyników rywalizacji pomiędzy Krzyśkiem a Tomkiem powinno się wyświetlić po 1 remisie a wyświetla sie stan 2:0 dla Krzysia (na localhoście kod działa poprawnie).

Nie mam zielonego pojęcia czym to może być spowodowane. Ma ktoś jakieś pomysły?