Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z wykonywaniem zapytań
Forum PHP.pl > Forum > PHP
mazyl
Witam!

mam taki problem. Podczas klikania w dany odnośnik, wykonuje się zapytanie do mysql, przechodząc do danej strony,

dla przykładu mam liczbe 100 i gdy klikne w link doda do tej liczby 1, jednak po kiknięci najpierw widzimy 100 i dopiero po odświerzeniu widzimy 101. Jak zrobić by po kliknięciu odrazu pokazało 101 a nie dopiero po odświeżeniu ? (sry za bledy ort., wczoraj byl piatek smile.gif )
viking
Za pomocą javascript. Możesz żądanie ajaxowe wykonać które zwróci prawidłową liczbę po update na bazie. Generalnie totalne podstawy.
mazyl
domyślam sie ze to podstawy, lecz wczesniej tego nie potrzebowałem i tak troche się z tym męcze.
masz może gdzieś jakiś link do tutoriala co i jak ? albo do czegoś podobnego.
mazyl
coś mi zbytnio to nie wychodzi. jeżeli możesz, mógłbyś podesłać mi jakiś przykład takiego kodu ?

z góry dzięki wink.gif
viking
Pokaż w takim razie jak robisz i gdzie szukasz rozwiązania...
mazyl
  1. if($oGracz['gildia'] == 0) {
  2. $id = $_GET['id'];
  3. echo "<p>Załóż nową gildie
  4.  
  5. <form action='?a=gildia&id=1' method='post'>
  6. <p>
  7. Nazwa Gildi: <input type='text' name='nazwa' style='width:40%'>
  8. <br/>
  9. <input type='submit' value='Załóż Gildie'/>
  10. </p>
  11. </from>";
  12. } else {
  13. echo "jakiś tekst";
  14. }
  15.  
  16. if ($id == 1){
  17.  
  18. if ($oGracz['poziom'] > 9){
  19. $id = mysql_query('SELECT * FROM `gildia`');
  20. $gid = mysql_num_rows($id);
  21. $gid2 = $gid + 1;
  22.  
  23. mysql_query("INSERT INTO gildia SET id='".$gid2."', nazwa='".$_POST['nazwa']."', punkty='".$oGracz['punkty']."'");
  24.  
  25. $nazwa = mysql_query('SELECT * FROM `gildia` where nazwa = '.$_POST['nazwa'].'');
  26.  
  27. mysql_query("UPDATE gamecms_gracze SET gildia = '".$gid2."', rolagildia=3 WHERE gracz =".$oGracz['gracz']."");
  28. } else {
  29. echo "<p class='error'>Aby utworzyć gildię wymagany jest 10 poziom Postaci</p>";
  30.  
  31. }
  32.  
  33. }



Tak to mniej wiecej wygląda, po utworzeniu trzeba jeszcze raz odświeżyć strone.



i 2 problem:

  1. <?php
  2.  
  3. $id = $_GET['id'];
  4. $info = mysql_fetch_array(mysql_query("select * from gildia where id = ".$oGracz['gildia'].""));
  5. $poziom = $info['ratusz'] + 1;
  6.  
  7. $koszt = $info['ratusz'] * 150 * 1.3;
  8. ?>
  9. <table>
  10. <tr>
  11. <td></td>
  12. <td>Informacje</td>
  13. <td>Rozbudowa</td>
  14. <td width='12%'>Koszt</td>
  15. </tr>
  16. <tr>
  17. <td><img src="css/images/ratusz.png" width='160px' height='160px'/></td>
  18. <td>Ratusz To główny budynek każdej Gildii. Dzieki niemu zwiększamy makxymalny poziom rozbudowy reszty budynków.
  19. <br>Podstawą rozbudowy reszty budynków jest wyższy poziom rozbudowy ratuszu.
  20. </td>
  21. <td><a href="?a=ratusz&id=1">Rozbuduj do poziomu <?php echo $poziom; ?></a></p></td>
  22. <td align='center'><?php echo $koszt; ?><img src="css/images/moneta.png" width='15px' height='15px'/></td>
  23. </tr>
  24. </table>
  25.  
  26.  
  27.  
  28. <?php
  29.  
  30. if ($id == 1) {
  31.  
  32. if ($oGracz['rolagildia'] == 3) {
  33.  
  34. if ($info['bank'] >= $koszt) {
  35.  
  36. mysql_query("update gildia set ratusz = ratusz +1, bank = bank - ".$koszt." where id = ".$oGracz['gildia']." limit 1");
  37. echo "<p class='info'>Pomyslnie rozbudowano Ratusz o kolejny poziom.</p>";
  38.  
  39. } else {
  40. echo "<p class='error'>Nie posiadasz Wystarczająco pieniędzy w Banku.</p>";
  41. }
  42. }else {
  43. echo "<p class='error'>Nie posiadasz uprawnień do wykonania tej operacji.</p>";
  44. }
  45.  
  46.  
  47. }

po odświerzeniu wykonuje ponownie tą samą czynność.
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.