Fetch Data From Database With CodeIgniter Framework
First of all we will create a database and table in MySql. Suppose we created the "Company" database and employee table in MySql. There are the three fields id, name and city in the employee table. After creating the database and table in MySql we will set the database configuration in the CodeIgniter framework. For database configuration we will go to c:\xampp\htdocs\CodIgniter\ Application\Config\database.php. Then we will write following code in the database.php file:
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['word'] = '';
$db['default']['database'] = 'Company';//Company is a database
After
configuration of the database in the Codeigniter framework we will
create the controller function. To create the controll function we will
go to c:\xampp\htdocs\CodIgniter\System\Core\Controller.php. Then write the following code in the controller.php:
class CI_Controller { private static $instance;
/**
* Constructor
*/ public function CI_Controller()
{
self::$instance =& $this;
// Assign all the class objects that were instantiated by the // bootstrap file (CodeIgniter.php) to local class variables // so that CI can run as one big super object. foreach (is_loaded() as $var => $class)
{
$this->$var =& load_class($class);
}
$this->load =& load_class('Loader', 'core');
$this->load->initialize();
log_message('debug', "Controller Class Initialized");
}
public static function &get_instance()
{
return self::$instance;
}}
class CI_Controller { private static $instance;
/**
* Constructor
*/ public function CI_Controller()
{
self::$instance =& $this;
// Assign all the class objects that were instantiated by the // bootstrap file (CodeIgniter.php) to local class variables // so that CI can run as one big super object. foreach (is_loaded() as $var => $class)
{
$this->$var =& load_class($class);
}
$this->load =& load_class('Loader', 'core');
$this->load->initialize();
log_message('debug', "Controller Class Initialized");
}
public static function &get_instance()
{
return self::$instance;
}}
After
creating the controller function in the CodeIgniter framework we will
create a model function. To create the model function we will go to c:\xampp\htdocs\CodIgniter\System\Core\Model.php. Then write the following code in the model.php file:
class CI_Model {
/**
* Constructor
* @access public
*/ function CI_Model()
{
log_message('debug', "Model Class Initialized");
}
/**
* __get
* Allows models to access CI's loaded classes using the same
* syntax as controllers.
* @param string
* @access private
*/ function __get($key)
{
$CI =& get_instance();
return $CI->$key;
}}
/**
* Constructor
* @access public
*/ function CI_Model()
{
log_message('debug', "Model Class Initialized");
}
/**
* __get
* Allows models to access CI's loaded classes using the same
* syntax as controllers.
* @param string
* @access private
*/ function __get($key)
{
$CI =& get_instance();
return $CI->$key;
}}
After creating the controller and model function we will create a model file:
<?phpclass Emp_model extends CI_Model
{
function Emp_model()
{
parent::CI_Model(); }
function emp_getall()
{
$this->load->database();
$query=$this->db->get('employee');//employee is a table in the database return $query->result();
}
}?>
{
function Emp_model()
{
parent::CI_Model(); }
function emp_getall()
{
$this->load->database();
$query=$this->db->get('employee');//employee is a table in the database return $query->result();
}
}?>
The above file will be saved as emp_model.php in the c:\xampp\htdocs\CodIgniter\Application\Models.
After creating the model file we will create a view file. For creating the view file we will write the following code:
<?phpforeach($query as $row)
{
print $row->ID;
print $row->Name;
print $row->City;
print "<br>";
}?>
{
print $row->ID;
print $row->Name;
print $row->City;
print "<br>";
}?>
The above file will be saved as emp_viewall.php in the c:\xampp\htdocs\CodIgniter\Application\Views.
After creating the views file we will create the controller file. To
create the controller file we will write the following code:
<?phpclass emp extends CI_Controller
{
function emp()
{
parent::CI_Controller(); }
function GetAll()
{
$this->load->model('emp_model');
$data['query']=$this->emp_model->emp_getall();
$this->load->view('emp_viewall',$data); }
}?>
{
function emp()
{
parent::CI_Controller(); }
function GetAll()
{
$this->load->model('emp_model');
$data['query']=$this->emp_model->emp_getall();
$this->load->view('emp_viewall',$data); }
}?>
The above file will be saved as emp.php in the c:\xampp\htdocs\CodIgniter\Application \Controller.
Run the Code
To run the the code we will write the following URL in the web browser:
http://localhost/CodeIgniter/index.php/emp/getall.
Conclusion
So
in this article you saw how to fetch data from a database using
the CodeIgniter framework in PHP. Using this article one can easily
understand how to fetch data from a database with the CodeIgniter
framework in PHP.