Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wykres graczy
mazyl
post
Post #1





Grupa: Zarejestrowani
Postów: 139
Pomógł: 2
Dołączył: 2.12.2011

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


Witam!

Mam taki mały problem, potrzebuje zrobić wykres graczy Counter Strike na danym serwerze (mniej wiecej taki jak np GameTracker ma na swoich monitorach serwerów)

Czy ma ktoś pomysł jak to zrobić ?

probowałem aby dane z wykresu były zapisywane w bazie mysql, ale serwer był za mocno obciazany ( serwerów gry jest sporo)

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mazyl
post
Post #2





Grupa: Zarejestrowani
Postów: 139
Pomógł: 2
Dołączył: 2.12.2011

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


sam też nie chce by to ktoś w całości za mnie zrobił (IMG:style_emoticons/default/wink.gif) wole sie czegoś nauczyć (IMG:style_emoticons/default/smile.gif)



mógłbyś mi jeszcze podpowiedzieć jak mam zrobić aby pobierało 24 rekordy z bazy danych, i tworzyło z nich wykres?

  1. <?php
  2. require('var/ustawienia.php');
  3. require('funkcje/podstawowe.php');
  4. //Pobieranie danych o serwerze
  5. $ip = $_GET['server'];
  6. $serw = mysql_fetch_array(mysql_query("select * from serwery where ip='$ip'"));
  7. header('Content-Type: image/png');
  8.  
  9. $max_slots = $serw['maxgracze'];
  10.  
  11. $wysokosc = 200;
  12.  
  13. $szerokosc = 400;
  14.  
  15. $gracze = array();
  16.  
  17. for ($i =0;$i<20;$i++)
  18.  
  19. {
  20. $rand = mysql_query("select * from wykres where serwer=".$serw['id']."");
  21.  
  22.  
  23.  
  24. $value = ($rand / $max_slots) * $wysokosc - 5;
  25.  
  26. $gracze[] = $value;
  27.  
  28.  
  29. }
  30.  
  31. $im = imagecreate (400, 200);
  32.  
  33.  
  34.  
  35. $black = imagecolorallocate($im, 0, 0, 0);
  36.  
  37. $w = ImageColorAllocate ($im, 255, 255, 255);
  38.  
  39. $red = ImageColorAllocate ($im, 255, 0, 0);
  40.  
  41. $blue = ImageColorAllocate ($im, 0, 0, 255);
  42.  
  43. $green = ImageColorAllocate ($im, 0, 255, 0);
  44.  
  45. imagefilledrectangle ($im, 0, 0, $szerokosc, $wysokosc, $black);
  46.  
  47. $szerokosc_pola = $szerokosc / count($gracze);
  48.  
  49.  
  50.  
  51. foreach($gracze AS $i => $serwer)
  52.  
  53. {
  54.  
  55. if (isset($gracze[$i+1]))
  56.  
  57. {
  58.  
  59. $colour = ImageColorAllocate ($im, 255 - (($i*$szerokosc_pola) * 100 / $szerokosc), (($i*$szerokosc_pola) * 100 / $szerokosc), 0);
  60.  
  61. imageline($im, ($i*$szerokosc_pola) + 5, $wysokosc - $serwer, ($i+1)*$szerokosc_pola + 5, $wysokosc - $gracze[$i + 1], $colour);
  62.  
  63. }
  64.  
  65. }
  66.  
  67. imageline($im, 5, 10, 5,$wysokosc - 5, $w);
  68.  
  69. imageline($im, 5, $wysokosc - 5, $szerokosc - 5,$wysokosc - 5, $w);
  70.  
  71. imagestring ($im, 5, 10, 1, $max_slots, $w);
  72.  
  73. imagestring ($im, 5, 10, $wysokosc / 2 - 20, round($max_slots/2), $w);
  74.  
  75. imagestring ($im, 5, 10, $wysokosc - 20, 0, $w);
  76.  
  77. imagepng($im);
  78.  
  79. ?>

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: 27.12.2025 - 07:24