[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Звуковое оповещение
Страницы: 1, 2
yintar
Всем привет!
При вставке новой записи в таблицу БД на компе должно срабатывать звуковое оповещение (проигрываться мелодия или просто сигнал какой-то неважно.....). Отследить вставку данных в таблицу БД можно с помощью триггера на событие INSERT, а проиграть звук с помощью JAVASCRIPT или каких-нибудь плагинов или библиотек , тоже вроде нет проблем.
Но как связать это воедино. т.е как при срабатывании триггера из mysql автоматически передать какой-то параметр или что-то в JS скрипт для запуска проигрывания мелодии?...........
Подскажите ,пожалуйста возможно ли это сделать и в какую сторону копать

arbuzmaster
Как мне кажется есть два варианта - первый, если все это работает на единственном компе, то можно использовать exec или аналоги *(php), второй если нужно реализовать на компах пользователей, то использовать Ajax для отправки запроса на вставку в БД (php), а уже исходя из ответа от сервера - запускать или не запускать файл на проигрывание через audio например.
Из mysql навряд ли получится, может быть только написанием скрипта на bash *(linux), но я с такой проблемой не сталкивался, поэтому как это делается сказать не могу, но опять же даже если такая возможность есть,то клиенту ответ передать скорее всего не выйдет, получится только воспроизвести локально т.е. на сервере.

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
yintar
arbuzmaster, спасибо за идею, но не совсем понял как ее применить.?
exec- это функция php которая выполняет внешнюю программу, но как она узнает о том ,что сработал триггер mysql (значит добавилась запись в БД) и необходимо что-то выполнить (воспроизвести мелодию на компе пользователя), в этом то и вся загвоздка.........
arbuzmaster
exec - Например если Вы вставляете записи в БД из php, при вставке из phpmyadmin или напрямую из терминала, она естественно никак не сработает. Я просто не знаю как у вас записи попадают в БД, поэтому и написал про php.

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
arbuzmaster
И я не пойму зачем вам тригер в mysql, если записи вставляет грубо говоря пользователь,можно же просто на php это отследить и если нет ошибки при вставке - дать команду на воспроизведение?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
yintar
Есть интернет магазин, и когда пользователь заходит и завершает оформление заказа(здесь уже заказ полностью гарантированно сохраняется в БД) вот после этого(когда заказ попадет в БД) и надо на компе для администратора сайта воспроизвести звуковой сигнал..........
триггер и нужен чтобы автоматически отслеживать новые записи
arbuzmaster
Ну так по тригеру же можно писать в БД , соответственно можно писать кол-во записей в какое нибудь поле в новой таблице? Затем проверять поле с помощью Ajax-a через setinterval и выдавать что угодно хоть звуки.

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
arbuzmaster
Т.е. при срабатывании тригера в таблицу log пишутся записи дата и вермя без секунд, затем ajax-ом с нее читаете раз в минуту - если 2 - записи,то воспроизводите 2 раза сигнал. Как то так?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
yintar
да, так и есть, спасибо большое, но я вот подумал, ведь у меня есть функция addOrder() ,которая записывает заказ в БД. т.е. можно проверить так if (addOrder()) то в скрипт возвращать ну ,например 1 или что-то еще, и потом в скрипте уже проерять если пришел ответ( например 1) то запускать воспроизведение как-то так
Так ведь тоже может получиться , верно?
AllesKlar
yintar
Твоя идея с триггером выглядит так:

Петрович принес на склад мешок зерна. Кладовщик его принял. Петрович уехал.
После этого кладовщик звонит Петровичу и сообщает, что Петрович принес мешок зерна на склад.
Петрович это услышал и пошел делать доклад в вышестоящие инстанции, что Петрович принес на склад мешок зерна.

Не кажется ли тебе, что тут есть избыточность действий?

_____________
[продано копирайтерам]
yintar
AllesKlar. да, пожалуй ты прав, но постом выше я уже предложил другое решение:
у меня есть функция addOrder() ,которая записывает заказ в БД. т.е. можно проверить так if (addOrder()) то в скрипт возвращать ну ,например 1 или что-то еще, и потом в скрипте уже проерять если пришел ответ( например 1) то запускать воспроизведение как-то так
Так ведь тоже может получиться , верно?
Invis1ble
Цитата (yintar @ 25.06.2016 - 16:53)
Есть интернет магазин, и когда пользователь заходит и завершает оформление заказа(здесь уже заказ полностью гарантированно сохраняется в БД) вот после этого(когда заказ попадет в БД) и надо на компе для администратора сайта воспроизвести звуковой сигнал..........

Для оповещения обычно шлют письмо.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

yintar
Invis1ble . ну ведь уже 10 постов речь идет именно о звуковом сигнале!!!!!!!!!!!!!!!!!!! ;, понятно что можно по почте ,но здесь речь не об этом!!!!!!!!!!!!!!!!!!!&# 33;!!!!!!!!!!!!!!!1
arbuzmaster
Цитата (yintar @ 25.06.2016 - 18:06)
AllesKlar. да, пожалуй ты прав, но постом выше я уже предложил другое решение:
у меня есть функция addOrder() ,которая записывает заказ в БД. т.е. можно проверить так if (addOrder()) то в скрипт возвращать ну ,например 1 или что-то еще, и потом в скрипте уже проерять если пришел ответ( например 1) то запускать воспроизведение как-то так
Так ведь тоже может получиться , верно?

Встречный вопрос? А кому придёт ответ ? Ведь при таком раскладе ответ может прийти только тому кто создал этот заказ или может выполнится действие на сервере. А Вам нужно чтобы ответ пришел только администратору, соответственно он и должен делать запрос. В общем самое простое решение - тащить из БД например раз в 10 мин, только те заказы которые были сделаны за эти 10 мин, т.е. добавить поля дата и время и по ним делать выборку из БД с интервалом, а еще лучше - где-то хранить метку последнего опроса и при следующем опросе плясать от неё, тащить только то что больше метки(соответственно в БД добавить поле с временной меткой при вставке заказа), а затем обновлять её, но эта функция должна быть доступна только администратору. Ваш способ подойдет только в том случае, если администратор работает за компом на котором и крутиться ваш магазин - сервером.

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
killer8080
1 на клиенте в админке подключаемся к серверу через вебсокет
2 на сервере при добавлении заказа подключаемся к вебсокет демону и рассылаем сообщение с id нового заказа.
3 вебсокет демон рассылает сообщение активным клиентам (админам)
4 на клиенте в админке обрабатывается пуш от сервера и выводится звуковой сигнал и т.п.



Спустя 6 минут, 5 секунд killer8080 написал(а):
более простой вариант с аякс поллингом.
1 при добавлении заказа пишем id заказа в файл, который лижит в директории доступной из веб
2 периодическими аякс запросами тупо читаем этот файл и запоминаем id последней записи
3 если id изменился, выдаем сигнал и т.п. (по разности предыдущего и полученного id узнаем количество добавленных записей)

вариантов можно придумать массу smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.