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
 
Start new topic
Odpowiedzi
tiraeth
post 1.09.2006, 19:39:58
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


Bez przesady... poprzedni "skrypt" zaakceptowałem ale tego nie akceptuję.... Po co to? Do oceny? Nie wiem co tu oceniać, bo większość to advAjax...

Co do pytań... wiesz gdzie się je zadaje? Na pewno nie na forum Oceny

Kloz'et winksmiley.jpg
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 - 14:10