Предложение по обновлению в реальном времени облака слов, которые читаются из базы данных MYSQL
Я надеюсь создать облако динамических слов, которое будет обновляться (как можно ближе) к реальному времени, извлекая слова и предложения из базы данных MYSQL. Затем MYSQL запрашивается каждые несколько секунд для обновления облака слов.
Я нашел эту библиотеку от Google, и она работает хорошо для статического облака слов. Но не в динамическом облаке слов https://github.com/timdream/wordcloud2.js
Когда я обновляю массив списка слов, скажем, я добавляю одно слово в массив списка, обновляется целое облако слов, а не просто добавляется вновь добавленное слово в облако слов. Итак, есть ли способ реализовать динамическое облако слов?
Спасибо за большую помощь.
1 ответ
Всегда есть способ, но вам не хватает нескольких строительных блоков.
У вас есть два места, где существует ваше облако:
1) сторона сервера (база данных + php) 2) сторона клиента (браузер)
PHP (предположительно) создает плоскую страницу, содержащую информацию, которую JS на стороне клиента использует для визуализации облака. Ваш браузер (JS) делает настоящую работу.
Для получения обновлений JS должен получать свежую информацию с сервера каждые определенное время. Самый простой способ сделать это - перезагрузить страницу. Еще один способ сделать это - получить новый массив с помощью AJAX и повторно отрендерить облако. Вам нужно будет погрузиться глубже в JS для этого.
Вероятно, вам нужно периодически извлекать новый массив с помощью AJAX и не заново визуализировать облако с нуля, а циклически перебирать каждое слово в массиве и каждое слово в предыдущем массиве и удалять любые пропавшие слова, добавлять любые новые слова и обновите HTML (размер) любых слов, если их значение изменилось.
Глядя на JS, который вы используете, он, похоже, не включает эту функциональность. Что требует от вас изучения и понимания работы скрипта JS.
Таким образом, вы можете выбрать следующие варианты: a) Найти другой сценарий облака слов, который уже имеет эту функцию. B) Написать свой собственный сценарий JS, который обновляет облако. (И, возможно, перенести изменения в исходное репозиторий Github, если они будут иметь его?)