Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Generowanie raportu
Forum PHP.pl > Forum > Przedszkole
xxdrago
Witam, jak mogę z tego wygenerować raport zapytanie mysql myślałem troche ale nic nie mogłem wymyślić.

  1. if(isset($_GET['walka'])){
  2. //jeżeli wciśnięto walkę z wybranym graczem
  3.  
  4. // w linku podaje się ID gracza z którym mamy walczyć, więc zabezpieczymy sobie tą zmienną
  5. $_GET['walka'] = (int)$_GET['walka'];
  6.  
  7.  
  8. $pozostalo = $uzytkownik['ostatnia_walka_pvp'] + 1800 - time();
  9. if($uzytkownik['zycie'] < 5){
  10. echo "masz za mało życia by walczyć<hr/>";
  11. } elseif($pozostalo > 0){
  12. echo "ostatnio prowadziłeś walkę<hr/>";
  13. } else {
  14.  
  15. //pobieramy dane
  16. $przeciwnik = mysql_fetch_array(mysql_query("select * from gracze where gracz !=".$uzytkownik['gracz']." and gracz = ".$_GET['walka']));
  17.  
  18. if(empty($przeciwnik)){
  19. //jeżeli nie pobrano przeciwnika
  20. echo "nie ma takiego gracza<hr/>";
  21. } else {
  22. //wszystkiedane przeciwnika mamy w zmiennej $przeciwnik
  23. echo "<b>rozpoczęto walkę</b><hr/>";
  24.  
  25. //walka ma trwać dopóki gracz i przeciwnik mają minimum 1 punkt życia
  26. while(($uzytkownik['zycie'] > 0) && ($przeciwnik['zycie'] > 0)){
  27.  
  28. $obrazenia = rand($uzytkownik['obrazenia_min'],$uzytkownik['obrazenia_max']);
  29.  
  30. $mod = $uzytkownik['atak'] / $przeciwnik['obrona'];
  31. if($mod > 2) $mod = 2;
  32. if($mod < 0.5) $mod = 0.5;
  33.  
  34. $obrazenia = floor($obrazenia * $mod);
  35. if($obrazenia < 1) $obrazenia = 1;
  36. if($obrazenia > $przeciwnik['zycie']) $obrazenia = $przeciwnik['zycie'];
  37.  
  38. $przeciwnik['zycie'] -= $obrazenia;
  39. echo "zadałeś ".$obrazenia." obrażeń przeciwnikowi<br/>";
  40.  
  41. if($przeciwnik['zycie'] < 1){
  42. //potwór nie żyje
  43. echo "<br/>ostateczny cios zabija ".$przeciwnik['login']."<br/>";
  44. $przeciwnik['zycie'] = 0;
  45.  
  46. } else {
  47. $obrazenia = rand($przeciwnik['obrazenia_min'],$przeciwnik['obrazenia_max']);
  48.  
  49.  
  50. $mod = $przeciwnik['atak'] / $uzytkownik['obrona'];
  51. if($mod > 2) $mod = 2;
  52. if($mod < 0.5) $mod = 0.5;
  53.  
  54.  
  55. $obrazenia = floor($obrazenia * $mod);
  56. if($obrazenia < 1) $obrazenia = 1;
  57. if($obrazenia > $uzytkownik['zycie']) $obrazenia = $uzytkownik['zycie'];
  58. $uzytkownik['zycie'] -= $obrazenia;
  59.  
  60. echo $przeciwnik['login']." zadał Ci ".$obrazenia." obrażeń<br/>";
  61.  
  62. if($uzytkownik['zycie'] < 1){
  63. //potwór zabił gracza
  64. echo "<br/>morderczy cios posyła Cię na ziemię, trochę czasu minie nim się pozbierasz<br/>";
  65. $uzytkownik['zycie'] = 0;
  66. }
  67. }
  68. echo "<br/>";
  69. }
  70.  
  71. if($uzytkownik['zycie'] > 0){
  72. //gracz wygrał walkę
  73. echo "wygrałeś walkę i zdobywasz 5 punktów oraz 100 złota";
  74.  
  75. mysql_query("update gracze set ostatnia_walka_pvp = ".time().", punkty = punkty + 5, zloto = zloto + 100, zycie = ".$uzytkownik['zycie']." where gracz = ".$uzytkownik['gracz']);
  76.  
  77. mysql_query("update gracze set punkty = punkty + 1, zloto = zloto + 10, zycie = ".$przeciwnik['zycie']." where gracz = ".$przeciwnik['gracz']);
  78. $uzytkownik['punkty'] +=5;
  79. $uzytkownik['zloto'] +=100;
  80.  
  81. } else {
  82. //przegrałeś
  83.  
  84. echo "przegrałeś walkę i zdobywasz 1 punktów oraz 10 złota";
  85.  
  86. mysql_query("update gracze set punkty = punkty + 5, zloto = zloto + 100, zycie = ".$przeciwnik['zycie']." where gracz = ".$przeciwnik['gracz']);
  87.  
  88. mysql_query("update gracze set ostatnia_walka_pvp = ".time().",punkty = punkty + 1, zloto = zloto + 10, zycie = ".$uzytkownik['zycie']." where gracz = ".$uzytkownik['gracz']);
  89.  
  90.  
  91. $uzytkownik['punkty'] +=1;
  92. $uzytkownik['zloto'] +=10;
  93. }
  94.  
  95. $uzytkownik['ostatnia_walka_pvp'] = time();
  96. echo "<hr/>";
  97. }
  98. }
  99. }
nospor
Cytat
jak mogę z tego wygenerować raport zapytanie mysql myślałem troche ale nic nie mogłem wymyślić.
Lodówka z zamrażarką.
xxdrago
No to napisze łanie :]

Chodzi o to że robię grę przeglądarkową i chciałbym wygenerować raport. Raport po wygenerowaniu wygląda tak:


i chciałbym aby to co tam wygeneruje wysyłało mi do bazy mysql tylko nie wiem jak to zapisać. smile.gif
nospor
Cytat
No to napisze łanie
Wow, jestem pod wrażeniem, załapałeś aluzję smile.gif

Cytat
i chciałbym aby to co tam wygeneruje wysyłało mi do bazy mysql tylko nie wiem jak to zapisać
No masz tekst i chcesz go zapisać do bazy. Ok. w czym problem? Przecież już zapisujesz dane w bazie więc zapis chyba potrafisz robic.

Musisz stworzyć dodaktową tabelę i tam pola:
ID_USER
TEKST
DATA
xxdrago
Tak, ale chodzi o ten teksty "morderczy cios posyła Cię na ziemię, trochę czasu minie nim się pozbierasz' itp..
nekomata
sam masz w skrypcie takie coś :
  1. if($uzytkownik['zycie'] > 0){
  2. //gracz wygrał walkę
  3. echo "wygrałeś walkę i zdobywasz 5 punktów oraz 100 złota";

Możesz to sobie zrobić np . array_rand albo np. w mysql
  1. SELECT zabojczy_text FROM zabojcze_texty ORDER BY RAND() LIMIT 1
xxdrago
To przy każdym taki bym musiał dawać zapytanie?
nekomata
Jak masz tylko 3 czy 4 różne texty to użyj array_rand ale jak chcesz mieć 50 albo więcej to użyj sql .. proste?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.