После обновления php CodeIgniter может выдавать такую ошибку:
|
Cannot redeclare class CI_Exceptions in /usr/lib/php5/codeigniter/system/database/DB.php on line 133 |
В моем случае проблема была решена удалением амперсанда (&) в двух строках указанного файла DB.php:
1. В объявлении функции DB:
до редактирования (строка 25 файла DB.php)
|
function &DB($params = '', $active_record_override = FALSE) |
после редактирования
|
function DB($params = '', $active_record_override = FALSE) |
2. При создании объекта класса:
до редактирования (строка 133 файла DB.php)
|
$DB =& new $driver($params); |
после редактирования
|
$DB = new CI_DB_mysql_driver($params); |
здесь еще, вместо переменной $driver было сразу прописано значение CI_DB_mysql_driver.
После этих исправлений ошибка не появлялась, сервер перестал падать.
CodeIgniter
CodeIgniter, ошибка
В данной статье описано как в фреймворке CodeIgniter отключить вывод ошибок на экран и настроить запись ошибок в лог-файл. В частности, показано какие изменения необходимо сделать в “движке” CI, чтобы SQL ошибки не отображались, но логировались.
Читать полностью…
CodeIgniter
CodeIgniter, ошибка
Очень просто!
Если быть кратким, то:
|
//выполненные запросы: print_r($this->db->queries); //время выполнения запросов: print_r($this->db->query_times); |
А далее можно использовать эти массивы как необходимо. Сделать временные print_r() для отладки или оформить красивый вывод результатов в админ. части сайта.
Обратите внимание, что данные массивы будут пусты, если
|
$this->db->save_queries = FALSE; //(по умолчанию TRUE) |
Читать полностью…
CodeIgniter
CodeIgniter, MySQL, SQL
В данной статье рассматривается реализация Ajax-пагинации в фреймворке CodeIgniter с использованием JavaScript-библиотеки jQuery.
Для начала сделаем обычную пагинацию, а потом разберемся как реализовать пагинацию без перезагрузки всей веб-страницы.
Здесь работающий пример: ajax-пагинация
У нас есть список автомобилей, который хранится в базе данных в таблице ex_cars:
1. Таблица в БД ex_cars (id, name, year, price)
id |
name |
year |
price |
1 |
Ваз-2109 |
2010 |
8000 |
2 |
Ланос |
2009 |
9000 |
3 |
Toyota |
2010 |
30000 |
4 |
BMW |
2009 |
40000 |
5 |
Audi |
2010 |
50000 |
6 |
Opel |
2009 |
25000 |
7 |
Skoda |
2010 |
20000 |
Нам нужно вывести этот список на веб-страницу. Но поскольку база данных будет пополняться новыми автомобилями, то необходимо отображать фиксированное число записей и номера страниц в виде ссылок. Кликая по которым, мы сможем просмотреть все необходимые нам данные. Проще говоря, нам надо прикрутить пагинацию к выводимому списку автомобилей. Читать полностью…
CodeIgniter
$.load, Ajax, CodeIgniter, jQuery, model, pagination
В первой части статьи мы разобрались с исходными данными и сформулировали задачи, которые необходимо выполнить для реализации ajax-фильтрации.
1. Добавить select со списком годов и пунктом «Все».
2. Написать на jQuery обработчик на изменение года в данном select.
3. В данном обработчике получить год, который был выбран и отправить ajax-запрос на сервер с параметром «год выпуска».
4. В контроллере Ajax написать метод, который будет обрабатывать наш ajax-запрос.
Напоминаю ссылку на готовый пример: Ajax-фильтрация
Первые три пункта мы реализуем в отображении cars.php
1. Добавляем select:
|
Год: <select id="year"> <option value="all">Все</option> <option value="2009">2009</option> <option value="2010">2010</option> </select> |
Читать полностью…
CodeIgniter, jQuery
$.load, Ajax, CodeIgniter, jQuery, ready
Свежие комментарии