Представление получилось довольно длинным, но это в основном из-за различных проверок, которые определяют каким образом нужно подсвечивать данные в таблице. Итак, рассмотрим все по-порядку. Прежде всего, напомню, что контроллер передает главной странице переменные с заголовком (используется в header. php), сообщением об ошибке ($error) массив с результатами проверок ($results). Прежде всего, мы проверяем, есть ли данные в массиве (строки 2-5). И если есть, начинаем формировать таблицу.
В строках 8-19 мы создаем ее заголовок, а затем запускаем цикл (строки 21-56), который формирует строки. Внутри цикла всем четным строкам мы присваиваем класс even, а нечетным – odd. Кроме того, мы выделяем цветом процент ошибок (строки 38-46). Если количество ошибок меньше 10% цвет будет зеленый, если больше 10%, но меньше 25% – темно желтый, а если больше 25% – красный. С помощью функции round мы округляем данные до трех знаков после запятой. Обратите внимание. В конце каждой строки мы вставляем ссылку «Удалить» (строки 52-53). Клик по ссылке вызывает метод removeurl контроллера, а в качестве параметра передает id данного URL. Чтобы предотвратить случайное нажатие на ссылку в ее параметр onclick мы записали небольшой скрипт, который показывает окно с просьбой подтвердить удаление. Примечание. В состав CodeIgniter входит библиотека table, которая значительно упрощает создание таблиц. Но в данном случае для того, чтобы сделать подсветку элементов все равно пришлось бы проходить весь массив, поэтому я решил ее не использовать. После таблицы мы размещаем на странице форму добавления нового URL (строки 67-71) и форму запуска проверок (строки 73-75). Открывающие теги обоих форм создаем с помощью функции form_open (она автоматически подставляет адрес приложения). Кстати, в последней форме мы вызываем метод ping без параметров.
Это значит, что метод будет проверять все адреса, которые найдет в базе данных. Теперь рассмотрим представление, формирующее страницу с подробными результатами проверок для выбранного URL – urldetails. php.