Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL][JavaScript]Powiadomienie dzwiękowe po zapisie w mysql.
Forum PHP.pl > Forum > Przedszkole
koxfx
Potrzebuję aby po zapise w bazie danych lub aktualizacji div odtworzyć dzwięk dla wszystkich. (tylko nie dla osoby wywołującej akcję)

Próbowałem w php
  1. $dzw = mysql_query("INSERT INTO tab SET tresc='{$tresc}',") or die ("Błąd!");
  2. if($dzw) echo '<audio autoplay id="pow" src="pow.mp3"></audio>';
  3. else echo "Błąd";

Nie zdało egzaminu. Działało ale tylko dla tego kto wywołał akcję. Zapis do bazy jest w osobnym pliku i przekierowanie przerywało akcję.

W JavaScript nie wiem jak to zrealizować.

Tak wczytuję div w JavaScript.

[JAVASCRIPT] pobierz, plaintext
  1.  
  2. $(document).ready(function(){
  3. var set = setInterval(function(){
  4. $("div#xxx").load("http://127.0.0.1/div.php");
  5. var elem = document.getElementById('xxx');
  6. elem.scrollTop = elem.scrollHeight;
  7.  
  8. }, 3);
  9.  
  10. });
[JAVASCRIPT] pobierz, plaintext


Preferuję kod w php ale jesli się nie da to wskażcie drogę w javascript.
StrefaPi
poczytaj o websocket...
trueblue
Jeśli wywołujesz kod php poprzez ajax, to zamień load na funkcję ajax i w metodzie success:
document.getElementById('dzwiek').play();


A w kodzie html:
  1. <audio id="dzwiek" preload="auto">
  2. <source src="dzwiek.ogg" type="audio/ogg">
  3. <source src="dzwiek.mp3" type="audio/mpeg">
  4. </audio>
Comandeer
Nie trza zmienić, bo $.load może brać callback
Damonsson
+1 websocket

Albo odpytuj co sekundę mysql i porównuj max id czy się nie zmieniło. Ale to tylko jak przewidujesz ruch na poziomie max 100 osób i masz jakiś sensowny serwer.
Comandeer
Nawet jak ma sensowny serwer to rozwiązanie jest średnio sensowne wink.gif

IMO tutaj zamiast websockets dobrze może zdać egzamin server-sent events aka long polling
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.