Делаю рассылку из базы, получаю 50 000 id и через
foreach ($massiv as $odin) { }
делаю рассылку по базе.
Хочу прикрепить прогресс бар к этому. Как это сделать?
Рассылка у Вас на сервере, прогрессбар на клиенте. Соответственно Вам нужно передавать прогресс на клиента. Сделать это можно двумя способами:
Второй способ более правильный и безопасный
Если хотите все красиво, тогда тут потребуется AJAX.
Суть вот в чем:
Вы должны 50000 ид разделить допустим на 100 (получается 500) и с помощью AJAX делать запросы к скрипту и выполнять по 500 штук за одно подключение. В итоге, когда скрипт отработает он вернет на обработчик AJAX'a информацию о проделанной работе. В случае если все прошло успешно, мы выводим информацию. Вывести можно как alert(), console.log(), document.write()....
А можно еще в виде диаграммы используя тег progress или самим создать две дивки
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники