Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Generowanie raportu
xxdrago
post
Post #1





Grupa: Zarejestrowani
Postów: 654
Pomógł: 42
Dołączył: 27.07.2010
Skąd: Jaworzno

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


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. }


--------------------
GG: 10972302 :)
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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ą.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
xxdrago
post
Post #3





Grupa: Zarejestrowani
Postów: 654
Pomógł: 42
Dołączył: 27.07.2010
Skąd: Jaworzno

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


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


--------------------
GG: 10972302 :)
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
xxdrago
post
Post #5





Grupa: Zarejestrowani
Postów: 654
Pomógł: 42
Dołączył: 27.07.2010
Skąd: Jaworzno

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


Tak, ale chodzi o ten teksty "morderczy cios posyła Cię na ziemię, trochę czasu minie nim się pozbierasz' itp..


--------------------
GG: 10972302 :)
Go to the top of the page
+Quote Post
nekomata
post
Post #6





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


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
Go to the top of the page
+Quote Post
xxdrago
post
Post #7





Grupa: Zarejestrowani
Postów: 654
Pomógł: 42
Dołączył: 27.07.2010
Skąd: Jaworzno

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


To przy każdym taki bym musiał dawać zapytanie?


--------------------
GG: 10972302 :)
Go to the top of the page
+Quote Post
nekomata
post
Post #8





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


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?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 18:19