- Programming with CodeIgniterMVC
- Eli Orr Yehuda Zadik
- 326字
- 2021-08-06 16:48:04
Example 3 – the database query by a model rendering results to a view
In this example, we will show you how the CI controller uses the CI model to retrieve data from the database and render it to a CI view.
The URL will be http://ourdomain.com/index.php/user
.
First, we will have to configure the database settings in the configuration file application/config/database.php
.
We should keep the default database settings unchanged, and only change the following configuration parameters:
$db['default']['hostname'] = '127.0.0.1'; //In many cases when the hostname's value is 'localhost' theconnection to the database fails. //Setting the hostname to 127.0.0.1 solves the problem. $db['default']['username'] = 'dbUser; $db['default']['password'] = 'dbPassword'; $db['default']['database'] = 'dbDataAbse'; $db['default']['port'] = 'dbPort';
The model class will retrieve all the user details from the table users
.
For more information on configurations, refer to Chapter 2, Configuration and Naming Conventions.
We will build the following three scripts:
- The controller class:
application/controllers/user.php
- The model file:
application/model/usermodel.php
- The view script:
application/views/userview.php
The controller file
The controller retrieves the users
list from the database via the model and renders the view with it.
The following is the code sample of the controller:
<?php class User extends CI_Controller { function users() { //Manually loading the database $this->load->database(); //Loading the model class $this->load->model('Usermodel'); $view_params['mega_title'] = 'Model Example'; //Calling the model to retrieve the users from the database $view_params['users']= $this->Usermodel->get_users(); $this->load->view('userview', $view_params); } } /* End of file welcome.php */ /* Location: /application/controllers/welcome.php */
The model file
The following is the code sample of the model.
<?php class Usermodel extends CI_Model { function __construct() { // Call the Model constructor parent::__construct(); } //This method retrieves the users list and returns an array of //objects each containing user details function get_users() { //Calling CI's database object's method for generating SQL//queries. $query = $this->db->get('users'); //returns an array of users objects return $query->result(); } }
In this example, the CI object database's method is called for generating and executing the SQL query.
Please refer to the CI database's library at http://ellislab.com/codeigniter/user-guide/database/index.html.
For more information about models, refer to Chapter 6, Models.
The view file
The view in this example shows the table content received from the controller containing the users
list as defined in the database.
The following is the corresponding rendered view:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title><?php echo $mega_title ?></title> </head> <body> <table> <tr> <td>ID</td> <td>Name</td> <td>Email</td> </tr> <?php foreach ($users as $user): ?> <tr> <td><?php echo $user->user_id ?></td> <td><?php echo $user->user_fname." ".$user->user_lname; ?></td> <td><?php echo $user->user_email ; ?></td> </tr> <?php endforeach; ?> </body> </html>
- Java程序設計(慕課版)
- Java Web程序設計
- Swift 4 Protocol-Oriented Programming(Third Edition)
- Unity 3D/2D移動開發實戰教程
- Python爬蟲、數據分析與可視化:工具詳解與案例實戰
- Python編程:從入門到實踐(第3版)
- Programming Microsoft Dynamics? NAV 2015
- 深入解析Java編譯器:源碼剖析與實例詳解
- Node.js應用開發
- Building Clouds with Windows Azure Pack
- SQL Server 2012數據庫管理與開發(慕課版)
- Building an E-Commerce Application with MEAN
- HTML5 Boilerplate Web Development
- 51單片機C語言程序設計經典實例(第3版)
- 面向對象程序設計及C++實驗指導(第3版)