Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> [advAjax] Powiadamianie o nowych wpisach itp.
phpion
post
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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/mad.gif) (Opera, Konqueror, IE wysiadaja...)
2) jak odegrac dzwiek przy wyswietlaniu diva?
Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował phpion.com 1.09.2006, 14:46:51
Go to the top of the page
+Quote Post
tiraeth
post
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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 27.09.2025 - 18:15