Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML]Pobieranie danych z mysql, i divy... Aktualne... / Za pomoc będzie pomógł!
Enderlanas
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 18.04.2010

Ostrzeżenie: (10%)
X----


Witam, mam taki problem...

Tworzę grę via www, i napotkałem na taki problem... Pewnie jest to coś prostego, ale ja się z tym już trochę głowię... ;/

Otóż zrobiłem coś takiego, że po wybraniu odpowiedniego "przypała" i kliknięciu przycisku wykonaj przechodzi na stronę, na której są wysyłane dane do bazy- doświadczenie, respekt itd. I z prawej strony jest panel, na którym jest pokazane ile aktualnie mamy respektu, kasy, doświadczenia, itp. Jeśli wykonam przypał, to dodaje mi normalnie dane do bazy, ale nie uaktualnia w tym panelu ile mam tych wszystkich statystyk. Dopiero po odświeżeniu strony wyświetla te nowe statystyki. Jeszcze się nigdy z takim czymś nie spotkałem, więc to jest dla mnie nowością... Oto kod skryptu, który odpowiada za wykonanie przypała:

  1. <?php
  2.  
  3.  
  4. if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
  5.  
  6. {
  7. ?>
  8. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  9. <html xmlns="http://www.w3.org/1999/xhtml">
  10. <head>
  11. <title>Jestem hardkorem!</title>
  12. <meta http-equiv="Content-Language" content="Polish" />
  13. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  14. <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
  15. <link rel="shortcut icon" href="/img/favicon.ico" />
  16.  
  17. </head>
  18. <body>
  19.  
  20. <div id="wrap">
  21.  
  22. <div id="header">
  23. <a href="index.php"><img src="logo.png" border="0"></a>
  24.  
  25. </div>
  26.  
  27. <div id="content">
  28.  
  29. <div class="menu">
  30. <center>
  31.  
  32. <?php
  33. require('prawemenu.php');
  34. ?>
  35.  
  36. </div>
  37.  
  38. <div class="right">
  39.  
  40.  
  41. <br>
  42. <h1>Przypały</h1><br>
  43.  
  44. <div class="articles">
  45. <?php
  46. require('conn.php');
  47. $login=$_SESSION['login'];
  48. $przypal = intval($_GET['przypal']); // bez intval tu ani rusz!
  49.  
  50. $result=mysql_query("SELECT energia FROM user where login='$login'");
  51. $row = mysql_fetch_array($result);
  52.  
  53. $corobi=mysql_query("SELECT naprzypale FROM user where login='$login'");
  54. $naprzypale = mysql_fetch_array($corobi);
  55.  
  56. $dane=mysql_query("SELECT * FROM user WHERE login='$login'");
  57. $wym = mysql_fetch_assoc($dane);
  58.  
  59.  
  60.  
  61. $wynik=mysql_query("SELECT * FROM przypaly WHERE id='$przypal'");
  62. $r = mysql_fetch_assoc($wynik);
  63.  
  64. $id=$r['id'];
  65. $nazwa=$r['nazwa'];
  66. $opis=$r['opis'];
  67. $powodzenie=$r['powodzenie'];
  68. $niepowodzenie=$r['niepowodzenie'];
  69. $losowanie_od=$r['losowanie_od'];
  70. $losowanie_do=$r['losowanie_do'];
  71. $szansa=$r['szansa'];
  72. $zdobyte_doswiadczenie=$r['zdobyte_doswiadczenie'];
  73. $zdobyty_respekt=$r['zdobyty_respekt'];
  74. $zdobyta_kasa=$r['zdobyta_kasa'];
  75. $stracone_doswiadczenie=$r['stracone_doswiadczenie'];
  76. $stracony_respekt=$r['stracony_respekt'];
  77. $stracona_kasa=$r['stracona_kasa'];
  78. $stracona_energia=$r['stracona_energia'];
  79. $wymagania=$r['wymagania'];
  80.  
  81.  
  82. $przebieg=rand(1,100);
  83.  
  84. if ($naprzypale['naprzypale']==1)
  85. {
  86. if ($row['energia']>=$stracona_energia)
  87. {
  88.  
  89.  
  90. $dosw=mysql_query("SELECT doswiadczenie FROM user where login='$login'");
  91. $doswiadczenie = mysql_fetch_array($dosw);
  92.  
  93. $resp=mysql_query("SELECT doswiadczenie FROM user where login='$login'");
  94. $respekt = mysql_fetch_array($resp);
  95.  
  96.  
  97.  
  98. if ($wym['doswiadczenie'] >= $wymagania && $wym['respekt'] >= $wymagania)
  99.  
  100. {
  101.  
  102. if ($przebieg<=$szansa)
  103. {
  104. echo '<font color="green"><b>';
  105. echo $powodzenie;
  106. echo '<br>Zdoby?e?&nbsp;';
  107. echo $zdobyte_doswiadczenie;
  108. echo ' do?wiadczenia!';
  109. echo '<br>Zdoby?e?&nbsp;';
  110. echo $zdobyty_respekt;
  111. echo ' respektu!';
  112. echo '<br>Zdoby?e?&nbsp;';
  113. echo $zdobyta_kasa;
  114. echo ' kasy!';
  115. echo '</font>';
  116. echo '<font color="red">';
  117. echo '<br>Straci?e?&nbsp;';
  118. echo $stracona_energia;
  119. echo ' energii!';
  120. echo '</font></b>';
  121.  
  122. mysql_query("UPDATE user SET doswiadczenie=doswiadczenie+'$zdobyte_doswiadczenie', respekt=respekt+'$zdobyty_respekt', kasa=kasa+'$zdobyta_kasa', energia=energia-'$stracona_energia', naprzypale=0 WHERE login='$login'");
  123.  
  124. }
  125. else
  126. {
  127. echo '<font color="red"><b>';
  128. echo $niepowodzenie;
  129. echo '<br>Straci?e?&nbsp;';
  130. echo $stracone_doswiadczenie;
  131. echo ' do?wiadczenia!';
  132. echo '<br>Straci?e?&nbsp;';
  133. echo $stracony_respekt;
  134. echo ' respektu!';
  135. echo '<br>Straci?e?&nbsp;';
  136. echo $stracona_kasa;
  137. echo ' kasy!';
  138. echo '<br>Straci?e?&nbsp;';
  139. echo $stracona_energia;
  140. echo ' energii!';
  141. echo '</font></b>';
  142.  
  143. mysql_query("UPDATE user SET doswiadczenie=doswiadczenie-'$stracone_doswiadczenie', respekt=respekt-'$stracony_respekt', kasa=kasa-'$stracona_kasa', energia=energia-'$stracona_energia', naprzypale=0 WHERE login='$login'");
  144.  
  145.  
  146. }
  147. }
  148.  
  149. else
  150.  
  151. {
  152.  
  153. echo '<font color="red">Nie uda?o Ci si? wykona? tego przypa?u, przy pr?bie da?e? cia?a!<br>Lama!</font>';
  154.  
  155. }
  156.  
  157.  
  158.  
  159. }
  160.  
  161. else
  162.  
  163.  
  164. {
  165. echo 'B?d?c zm?czonym nie mo?esz wykaza? si? swoim hardkorostwem!';
  166. mysql_query("UPDATE user SET naprzypale=0 WHERE login='$login'");
  167. }
  168. }
  169.  
  170.  
  171. else
  172. {
  173. echo "Nie mo?esz od?wie?a? tej strony!";
  174. }
  175. ?>
  176.  
  177.  
  178.  
  179.  
  180. <br><a href="przypaly.php">Przejd? do menu wyboru przypa??w</a></div>
  181. </div>
  182.  
  183. <div class="left">
  184. <?php
  185. require('lewemenu.php');
  186. ?>
  187.  
  188. </div>
  189.  
  190. <div style="clear: both;"> </div>
  191.  
  192. </div>
  193.  
  194. <div id="bottom"> </div>
  195.  
  196. <div id="footer">
  197.  
  198. Stworzone przez Arthesa, wszelkie prawa zastrze?one.
  199. </div>
  200. </div>
  201.  
  202. </body>
  203. </html>
  204. <?php
  205. }
  206.  
  207. else
  208.  
  209. {
  210.  
  211. echo "Nie jesteś zalogowany";
  212. header("Location: logowanie.php");
  213.  
  214.  
  215.  
  216. }
  217. ?>


A oto treść pliku prawemenu.php, który jest tym panelem po prawej stronie:

  1. <center>
  2. <h2>Statystyki</h2>
  3. <br>
  4. <?php
  5. require('conn.php');
  6. $login=$_SESSION['login'];
  7. $wynik=mysql_query("SELECT * FROM user WHERE login='$login'");
  8. $r = mysql_fetch_assoc($wynik);
  9. echo '<ul id="prawemenu">';
  10. echo "<li>".$r['login']."</li>";
  11. echo "<li>Poziom:&nbsp;".$r['poziom']."</li>";
  12. echo "<li>Doświadczenie:&nbsp;".$r['doswiadczenie']."</li>";
  13. echo "<li>Respekt:&nbsp;".$r['respekt']."</li>";
  14. echo "<li>Energia:&nbsp;".$r['energia']."/";
  15. echo "".$r['max_energia']."</li>";
  16. ?>
  17. </ul>
  18. </center>


Nie wiem, jaka tego jest przyczyna... Ale zauważyłem, że przy wchodzeniu na przypał tak jakby nie odświeża się cała strona, tylko ta która odpowiada za informacje...

Mam nadzieję, że ktoś mi pomoże... pozdrawiam (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował Enderlanas 27.05.2010, 19:17:45
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





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




Cytat
Aha... dzięki za odpowiedzi... no więc zrobiłem tak jak pisaliście, i działa... Tylko że tu mam kolejny problem. Jeśli dam wcześniej diva ze skryptem uaktualniający dane, a później diva w którym jest to prawe menu, to się strona rozjeżdża...

NIe, nie zrobiłeś jak ci pisano. Pisano ci, że najpierw ma się wykonać akcja, a dopiero potem ma się dokonać wyświetlanie.
Ty natomiast jedynie przeniosles kod który odpowiadał za jednoczesne wykonywanie i wyswietlanie. Zmieniles w ten sposob kolejnosc wykonywania (o to chodziło) ale i jednoczesnie zmieniles kolejność wyswietlania (a o to już nie chodziło)

Masz zrobic tak, że najpierw się wykona co ma się wykonać,a dopiero potem masz wyświetlać tak jak chcesz. Musisz oddzielić logikę aplikacji od jej wyglądu.
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: 29.12.2025 - 14:04