Может, в консоли js (инструменты разработчика в браузере) ошибку какую-нибудь пишет?
PS: Код для email-маски брали из Usage?
На что влияет "cardinality: 1,"?
Adrenalin, если в таблице descriptions есть данные, то, вероятно, среди них присутствует domain_id, для которого нет соответствия среди id таблицы domains.
karpatami, загляните в файл .htaccess (если он есть/был) и сравните с предыдущей версией.
Ещё не мешало бы понять, в чём заключалось "обновление сайта".
Jack Daniels, в вопросе четным/нечетным должно быть число, а не индекс массива.
Соответственно, выкиньте $key из кода.
array_count_values и shuffle - тоже в топку. (Добавление)
Ах, да... ещё подсчитать...
Добавьте счетчик. Перед циклом - инициализировать его, например, $n = 0;
В цикле: $n++; (или $n+=1;, или $n = $n + 1;)
Nyam, например, можно инициировать выполнение той самой функции через ajax-запрос от клиента.
Или отправить клиенту (браузеру) header("location...") и спокойно продолжать дальше выполнение скрипта (той самой функции).