Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][SQL][PHP]Problem z wykonywaniem operacji co x sekund
Forum PHP.pl > Forum > Przedszkole
master245
Witam.
Otóż mam kod, który ma się wykonywać co x sekund i prawie działa ;p
Otóż wyświetla informacje, ale nie aktualizuje ich z bazy sql.
Krótko jak ma to wyglądać:
Wchodząc na stronę mam wyświetloną informację z bazy sql i ma się aktualizować co x sekund + dodawać wpis do bazy, też co x sekund.
Aktualnie ustawiona 1 sekunda by sprawdzić czy działa.
Moja strona www, gdzie jest to pokazane:
http://master24.webd.pl/pomoc/

Login: user | Hasło: user

index.php
  1. <?php
  2. include("polacz.php");
  3. include("formatl.php");
  4. ?>
  5. <head>
  6. <link href="tabela.css" rel="stylesheet" type="text/css">
  7. </head>
  8. <div id="info">
  9. <center>
  10. <?php
  11. if($_SESSION['logged']) {
  12. include('script.php');
  13. ?>
  14. </div>
  15. <?php
  16. }
  17. else echo '<br><br><br><br>
  18. <table cellspacing="0" class="tabela2">
  19. <tr>
  20. <th colspan="2" style="vertical-align: middle;">
  21. <font color="black" size="4">Aby przeglądać tą stronę musisz być zalogowany!</font>
  22. </th>
  23. </tr>
  24. <tr>
  25. <th style="width: 400px"><a href="logowanie.php" class="large blue niceButton">Zaloguj</a></th>
  26. <th style="width: 400px"><a href="rejestracja.php" class="large blue niceButton">Rejestracja</a></th>
  27. </tr>
  28. </table><br>
  29. </div> ';
  30. ?>


script.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
  3. <head>
  4. <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
  5. <script type="text/javascript">
  6. $(document).ready(function() {
  7. var time;
  8.  
  9. $.ajax({
  10. url: 'timer.php',
  11. dataType: 'text',
  12. success: function(data) {
  13. time = data;
  14. }
  15. });
  16.  
  17. setInterval(function() {
  18. if (time > 0)
  19. {
  20. $('#timer').html('<?php
  21. $nick=$_SESSION['nick'];
  22. $dane = mysql_query("SELECT * FROM `gra_dane` WHERE nick='$nick'");
  23. $d = mysql_fetch_assoc($dane);
  24. echo '<table cellspacing="0" class="tabela2"><tr><th style="width: 920px" style="vertical-align: middle;">
  25. <font size="6" color="green">Twoja gotówkaa: '.bd_nice_number($d['kasa']).' $</font> </th></tr></table>';
  26. $sprawdzaj = mysql_query("SELECT * FROM `gra_budynki` WHERE nick='$nick'");
  27. $s = mysql_fetch_assoc($sprawdzaj);
  28. $sprawdzaj2 = mysql_query("SELECT * FROM `gra_budynek2` WHERE nick='$nick'");
  29. $s2 = mysql_fetch_assoc($sprawdzaj2);
  30. $dane = mysql_query("SELECT * FROM `gra_dane` WHERE nick='$nick'");
  31. $d = mysql_fetch_assoc($dane);
  32. $zysk1=$s['zysk'];
  33. $kasa=$d['kasa'];
  34. $zysk2=$s2['zysk'];
  35. $zysk=$kasa+$zysk1+$zysk2;
  36. $query = "UPDATE gra_dane SET kasa = '$zysk' WHERE nick = '$nick'";
  37. if(mysql_query($query))
  38. echo "";?>');
  39. time -= 1;
  40. }
  41. else if (time == 0)
  42. {
  43. $('#timer').html('<?php
  44. $nick=$_SESSION['nick'];
  45. $dane = mysql_query("SELECT * FROM `gra_dane` WHERE nick='$nick'");
  46. $d = mysql_fetch_assoc($dane);
  47. echo '<table cellspacing="0" class="tabela2"><tr><th style="width: 920px" style="vertical-align: middle;">
  48. <font size="6" color="green">Twoja gotówka: '.bd_nice_number($d['kasa']).' $</font> </th></tr></table>';
  49. $sprawdzaj = mysql_query("SELECT * FROM `gra_budynki` WHERE nick='$nick'");
  50. $s = mysql_fetch_assoc($sprawdzaj);
  51. $sprawdzaj2 = mysql_query("SELECT * FROM `gra_budynek2` WHERE nick='$nick'");
  52. $s2 = mysql_fetch_assoc($sprawdzaj2);
  53. $dane = mysql_query("SELECT * FROM `gra_dane` WHERE nick='$nick'");
  54. $d = mysql_fetch_assoc($dane);
  55. $zysk1=$s['zysk'];
  56. $kasa=$d['kasa'];
  57. $zysk2=$s2['zysk'];
  58. $zysk=$kasa+$zysk1+$zysk2;
  59. $query = "UPDATE gra_dane SET kasa = '$zysk' WHERE nick = '$nick'";
  60. if(mysql_query($query))
  61. echo "";?>');
  62. time -= 1;
  63. }
  64. else
  65. {
  66. $.ajax({
  67. url: 'timer.php',
  68. dataType: 'text',
  69. success: function(data) {
  70. time = data;
  71. }
  72. });
  73. }
  74. }, 1000);
  75. });
  76.  
  77. </script>
  78. </head>
  79. <body>
  80. <div id="timer"><table cellspacing="0" class="tabela2"><tr><th style="width: 920px" style="vertical-align: middle;">
  81. <font size="4" color="green">Sprawdzanie danych...</font> </th></tr></table></div>
  82. </body>
  83. </html>


timer.php
  1. <?php
  2. echo 1;
  3.  
  4. ?>
slash^
Wykonujesz, a właściwie wyświetlasz kod php przez js na stronie w elemencie #timer to się nie dziw, że nie działa.
Oddziel php do osobnego pliku php i wykonuj go przez $.ajax, czytaj w pliku timer.php masz miec najpierw/na końcu update tych baz i odczyt zwracany do js tak jak teraz (skoro twierdzisz ze dziala)
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.