Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [advAjax] Powiadamianie o nowych wpisach itp.
phpion
post 1.09.2006, 08:01:01
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Moj poprzedni produkt spotkal sie z ogromny zainteresowaniem winksmiley.jpg wiec napisalem dzis cos nowego. Mianowicie w zalozeniu skrypt ma sluzyc do powiadamiania o nowych wpisach w bazie (tych jeszcze nieautoryzowanych) na zywo, tj. od razu na stronie, bez koniecznosci odswiezania strony.
Oto link do przykladu dzialania skryptu:
http://phpion.com/ajax/uwaga.html
Na serwerze skrypt nie pobiera danych z bazy (admin chyba by mnie zabil biggrin.gif), a po prostu poprzez file() zlicza ilosc linii w pliku tekstowym. Czestotliwosc sprawdzania wynosi 10 sekund (dla testow).
Oto zrodla:
uwaga.html:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  3. <style type="text/css">
  4. #uwaga {
  5. font-family: Verdana, Tahoma, sans-serif;
  6. font-size: 12px;
  7. background-color: #FFDE0A;
  8. width: 150px;
  9. position: absolute;
  10. right: 25px;
  11. top: 25px;
  12. padding: 0px;
  13. }
  14. a.hide, a.hide:hover {
  15. font-family: Verdana, Tahoma, sans-serif;
  16. font-size: 10px;
  17. font-weight: bold;
  18. color: #000000;
  19. text-decoration: none;
  20. }
  21. <script language="javascript" type="text/javascript" src="advajax.js"></script>
  22. <script language="javascript" type="text/javascript">
  23. show = '1';
  24.  
  25. function hide()
  26. {
  27. document.getElementById('uwaga').style.visibility = "hidden";
  28. }
  29.  
  30. function clos()
  31. {
  32. document.getElementById('uwaga').style.visibility = "hidden";
  33. show = '0';
  34. }
  35.  
  36. function play()
  37. {
  38. document.all.base.src = "sound.wav";
  39. }
  40.  
  41. function check()
  42. {
  43. if (show == '1')
  44. {
  45. delay = 10;
  46.  
  47. advAJAX.get({
  48. url: "uwaga.php",
  49.  
  50. onSuccess : function(obj)
  51. {
  52. if (obj.responseText == "0")
  53. document.getElementById('uwaga').style.visibility = "hidden";
  54. else
  55. {
  56. document.getElementById('uwaga').innerHTML = '<img src="zarowka.png" align="left">Nowych dupereli:<br> ' + obj.responseText + '<div style="position: absolute; right: 4px; top: 0px;"><a href="#" onclick="hide();" class="hide">_</a> <a href="#" onclick="clos();" class="hide">x</a></div>';
  57. document.getElementById('uwaga').style.border = "1px silver solid";
  58. document.getElementById('uwaga').style.padding = "5px";
  59. document.getElementById('uwaga').style.visibility = "visible";
  60. //play();
  61. }
  62. },
  63.  
  64. onError : function(obj)
  65. {
  66. alert("Error: " + obj.status);
  67. },
  68. });
  69.  
  70. setTimeout("check()", delay*1000);
  71. }
  72. else
  73. return false;
  74. }
  75. </head>
  76. <body onload="check();">
  77. <div id="uwaga"></div>
  78. <div id="body">
  79. Lorem Ipsum is simply dummy text (...)
  80. </body>
  81. </html>

oraz uwaga.php
  1. <?php
  2. $file = file("file.txt");
  3. echo count($file);
  4. /*
  5. CREATE TABLE uwaga (
  6. id INT(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, 
  7. tresc VARCHAR(10), 
  8. stan ENUM('0', '1') NOT NULL DEFAULT '0'
  9. );
  10. */
  11.  
  12. $sql = mysql_connect("localhost", "root", "");
  13. mysql_select_db("uwaga", $sql);
  14.  
  15. $q = "SELECT COUNT(id) FROM uwaga WHERE stan='0'";
  16. $q = mysql_query($q);
  17.  
  18. echo mysql_result($q, 0);
  19. ?>

W pozyzszym pliku widac rowniez jak mozna pobierac dane prosto z bazy.
I znowu mam 2 pytania:
1) co zrobic aby skrypt chodzil nie tylko na FF mad.gif (Opera, Konqueror, IE wysiadaja...)
2) jak odegrac dzwiek przy wyswietlaniu diva?
Pozdrawiam smile.gif Moze komus sie spodoba, przyda...

PS: na tym serwerze nie zaobserwujemy zmiany ilosci dupereli ale jesli ktos odpali skrypt u siebie i bedzie zmienial ilosc wpisow w pliku to zobaczy smile.gif

Ten post edytował phpion.com 1.09.2006, 14:46:51
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 10:39