Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL][PHP] Jak to wyświetlić?
ememem
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 11.04.2012

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


Mając rekordy w bazie danych w postaci
  1. a:8:{s:6:"DAMAGE";i:335;s:3:"ATK";i:47;s:7:"FIREDEF";i:4;s:6:"ICEDEF";i:4;s:7:"WINDDEF";i:4;s:8:"EARTHDEF";i:4;s:5:"MAXHP";i:-200;s:6:"MAGDEF";i:10;}

po zdeserializowaniu
  1. $stats = unserialize($row['stats']);

wyglądają one tak:
Damage: 335
ATK: 47
FIREDEF: 4
i tak dalej.
Wyświetlam to za pomocą komendy:
  1. <?php echo show_stats(unserialize($row['stats'])) ?>

Jak pominąć określone dane np DAMAGE I ATK, a wyświetlić całą resztę?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ememem
post
Post #2





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 11.04.2012

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


Funkcja show_stats
  1. function show_stats($stars_stats)
  2. {
  3. static $transformations, $statuses;
  4.  
  5. if (!isset($transformations))
  6. {
  7. $transformations = array(
  8. 'DAMAGE' => 'Obrażenia',
  9. 'ATK' => 'Atak',
  10. 'DEF' => 'Obrona',
  11. 'HIT' => 'Celność',
  12. 'SPD' => 'Szybkość',
  13. 'MAXMP' => 'MP',
  14. 'MAXHP' => 'HP',
  15. 'MAGATK' => 'Atak magiczny',
  16. 'MAGDEF' => 'Obrona magiczna',
  17. 'EVA' => 'Uniki',
  18. 'LCK' => 'Szczęście',
  19. 'FIREDEF' => 'Ogień',
  20. 'ICEDEF' => 'Lód',
  21. 'WINDDEF' => 'Wiatr',
  22. 'EARTHDEF' => 'Ziemia',
  23. 'AXEDEF' => 'Topór',
  24. 'SPEARDEF' => 'Włócznia',
  25. 'MACEDEF' => 'Buława',
  26. 'SWORDDEF' => 'Miecz',
  27. 'ENCOUNTER' => 'Częstotliwość walk',
  28. 'AP_MOD' => 'Ilość AP%',
  29. 'GOLD_MOD' => 'Ilość złota',
  30. 'EXP_MOD' => 'Ilość doświadczenia',
  31. );
  32. }
  33. if (!isset($statuses))
  34. {
  35. $statuses = array (
  36. 10 =>
  37. 'name' => 'Bariera',
  38. 'type' => 2,
  39. ),
  40. 11 =>
  41. 'name' => 'Bariera Magiczna',
  42. 'type' => 2,
  43. ),
  44. 28 =>
  45. 'name' => 'Dynia Halloween',
  46. 'type' => 3,
  47. ),
  48. 16 =>
  49. 'name' => 'Furia',
  50. 'type' => 1,
  51. ),
  52. 4 =>
  53. 'name' => 'Klątwa',
  54. 'type' => 1,
  55. ),
  56. 26 =>
  57. 'name' => 'Klątwa Dyniogłowych',
  58. 'type' => 3,
  59. ),
  60. 13 =>
  61. 'name' => 'Mobilizacja',
  62. 'type' => 2,
  63. ),
  64. 20 =>
  65. 'name' => 'Nietykalność',
  66. 'type' => 2,
  67. ),
  68. 27 =>
  69. 'name' => 'Odnowa Dyniogłowych',
  70. 'type' => 3,
  71. ),
  72. 18 =>
  73. 'name' => 'Paraliż',
  74. 'type' => 1,
  75. ),
  76. 25 =>
  77. 'name' => 'Pas Mistrza',
  78. 'type' => 3,
  79. ),
  80. 5 =>
  81. 'name' => 'Pomylenie',
  82. 'type' => 1,
  83. ),
  84. 17 =>
  85. 'name' => 'Pomyślność',
  86. 'type' => 2,
  87. ),
  88. 14 =>
  89. 'name' => 'Precyzja',
  90. 'type' => 2,
  91. ),
  92. 19 =>
  93. 'name' => 'Przyspieszenie',
  94. 'type' => 2,
  95. ),
  96. 15 =>
  97. 'name' => 'Refleks',
  98. 'type' => 2,
  99. ),
  100. 3 =>
  101. 'name' => 'Regeneracja',
  102. 'type' => 2,
  103. ),
  104. 22 =>
  105. 'name' => 'Różdżka Niemocy',
  106. 'type' => 3,
  107. ),
  108. 9 =>
  109. 'name' => 'Skamienienie',
  110. 'type' => 1,
  111. ),
  112. 12 =>
  113. 'name' => 'Skupienie',
  114. 'type' => 2,
  115. ),
  116. 6 =>
  117. 'name' => 'Ślepota',
  118. 'type' => 1,
  119. ),
  120. 7 =>
  121. 'name' => 'Spowolnienie',
  122. 'type' => 1,
  123. ),
  124. 21 =>
  125. 'name' => 'Stop',
  126. 'type' => 3,
  127. ),
  128. 2 =>
  129. 'name' => 'Uśpienie',
  130. 'type' => 1,
  131. ),
  132. 23 =>
  133. 'name' => 'Wampirza Różdżka',
  134. 'type' => 3,
  135. ),
  136. 24 =>
  137. 'name' => 'Wymysł Benerit\'a',
  138. 'type' => 3,
  139. ),
  140. 1 =>
  141. 'name' => 'Zatrucie',
  142. 'type' => 1,
  143. ),
  144. 8 =>
  145. 'name' => 'Zombie',
  146. 'type' => 1,
  147. ),
  148. );
  149. }
  150.  
  151. $output = array();
  152. foreach ($stars_stats as $key => $value)
  153. {
  154. if ($key == 'STATUS')
  155. {
  156. foreach ($value as $k => $v)
  157. $output[] = (isset($statuses[$k]) ? $statuses[$k]['name'] : $k).': '.$v.'%';
  158. }
  159. else
  160. $output[] = (isset($transformations[$key]) ? $transformations[$key] : $key).': '.$value;
  161.  
  162.  
  163. }
  164. echo implode('<br />', $output);
  165. }




Dlaczego wywołując te dane:
  1. a:5:{i:0;a:1:{s:6:"MAGDEF";i:0;}i:1;a:1:{s:6:"MAGDEF";i:3;}i:2;a:1:{s:6:"MAGDEF";i:6;}i:3;a:1:{s:6:"MAGDEF";i:9;}i:4;a:1:{s:6:"MAGDEF";i:12;}}

Pokazują mi się one w ten sposób:
  1. MAGDEF: 0%

używam tego:
  1. <?php echo show_stats(unserialize($row['stars_stats'])) ?>

Powinno być:
MAGDEF => Obrona Magiczna (tak jest w funkcji show_stats)
i kolejno:
1: 3
2: 6
3: 9
4: 12
Zamiast tego wyświetla "Array"

Jakiś pomysł?
Go to the top of the page
+Quote Post

Posty w temacie
- ememem   [SQL][PHP] Jak to wyświetlić?   14.04.2012, 19:08:33
- - boro11   Konkretnej komendy nie pomijanie nie znam bądź jej...   14.04.2012, 19:13:45
- - lobopol   Z tego co widzę jest to zserializowana tablica, cz...   14.04.2012, 19:24:02
- - ememem   Problem w tym, że chcę wyświetlić wszystkie prócz ...   14.04.2012, 21:17:36
- - lobopol   To wyświetl sobie, znasz wszystkie indeksy jakie m...   14.04.2012, 21:39:56
- - ememem   Mam to w postaci pętli. Dla każdego ID są inne ind...   14.04.2012, 21:47:01
- - lobopol   To w tej pętli wstaw sobie if którym będziesz blok...   14.04.2012, 21:51:12
- - crocodillo   pokaż funkcję show_stats().   14.04.2012, 21:51:57
- - ememem   [PHP] pobierz, plaintext function show_stats($...   14.04.2012, 21:55:18
- - lobopol   No to teraz tylko ten else w pętli na [PHP] pobier...   14.04.2012, 22:02:46
- - crocodillo   Możesz to przefiltrować wewnątrz tej funkcji, lub ...   14.04.2012, 22:14:17
- - ememem   Jeszcze jedno pytanko. Jedna z tablic wygląda tak ...   15.04.2012, 16:20:07
- - crocodillo   [PHP] pobierz, plaintext ...  $output...   15.04.2012, 17:58:14
- - ememem   Funkcja show_stats [PHP] pobierz, plaintext functi...   15.04.2012, 20:15:20
- - crocodillo   Ponieważ ta tablica wygląda tak:[PHP] pobierz, pla...   15.04.2012, 20:26:43
- - ememem   Teraz wygląda to tak: [PHP] pobierz, plaintext Arr...   16.04.2012, 14:28:02
- - sh3d2   to ja moze tak jeszcze w kwestii pyt z pierwszego ...   16.04.2012, 15:44:50
- - ememem   To jest zawartość tablicy: [SQL] pobierz, plaintex...   16.04.2012, 15:50:24
- - sh3d2   [PHP] pobierz, plaintext foreach($statss as $s...   16.04.2012, 15:54:00
|- - ememem   Cytat(sh3d2 @ 16.04.2012, 16:54:00 ) ...   16.04.2012, 21:39:51
- - sh3d2   jasne, skorzystajmy z twojej tablicy $transfo...   16.04.2012, 22:00:00
- - ememem   u góry strony wyświetla mi taki błąd: [PHP] pobier...   16.04.2012, 22:32:34
- - sh3d2   przydaloby sie troche pomyslec, warning [PHP] pobi...   16.04.2012, 22:51:24
- - ememem   ok, dałem radę, ale mam jeszcze jeden malutki prob...   16.04.2012, 23:14:51
- - sh3d2   po 1 frontendowcy za takie wynalazki powiesza cie ...   16.04.2012, 23:23:35
- - ememem   [PHP] pobierz, plaintext <?php foreach...   19.04.2012, 14:13:48


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: 10.10.2025 - 09:57