Я не эксперт в области виджетов, но «направление» заключается в использовании iframe, который динамически генерируется на странице, на которой будет размещаться виджет.
То есть ваш JS-код напишет что-то вроде:
<iframe src="http://www.mywebsite.com/services/widget.php" {other attributes here} />
iframe обычно содержится в разметке (html), которая заботится о представлении виджета на странице хостинга. Ваш файл JavaScript может содержать обработчики (привязанные к событиям в вашем виджете и т. Д.).
Целью iframe может быть скрипт .php (или другой), который будет выводить html или что-либо еще с вашего сайта. Вывод может содержать информацию / данные из вашей базы данных (как вы говорите, Mysql) и выполнять любые операции с этими данными.
Это подход (iframe), используемый в нескольких случаях. Убедитесь, что вы знакомы с окном условий, родительским в javascript, прежде чем писать код JS в тех случаях, когда задействованы фреймы и фреймы (как правило, как обрабатывать случаи, когда страница содержит фреймы, которые в свою очередь могут содержать другие фреймы и т. Д.)
Надеюсь, что это поможет вам начать с общей идеи / подхода к этой теме.
Я уверен, что вы слышали о рекламе Google. Способ размещения объявлений Google на веб-странице четко описан на страницах объявлений Google. Вы просто добавляете скрипт и некоторый код, который в свою очередь выдает следующий html:
<iframe allowtransparency="true" frameborder="0" height="100" hspace="0" id="google_ads_frame1" marginheight="0" marginwidth="0" name="google_ads_frame" scrolling="no" src="http://googleads.g.doubleclick.net/pagead/ads?client="{PARAMS}" style="left:0;position:absolute;top:0" vspace="0" width="900"></iframe>
Содержимое этого фрейма является фактической рекламой (рекламные ссылки, которые вы видите на странице).
Тег iframe - не единственный, созданный на основе JavaScript-объявления Google на странице. Также создаются другие теги (html), которые решают проблемы, связанные с презентацией.