J'apprends le codeigniter et j'ai une question. Les codes sont de http://www.devshed.com/c/a/PHP/Paginating-Database-Records-with-the-Code-Igniter-PHP-Framework/
Les modèles suivants sont le modèle et le contrôleur. Et il ne définit pas $ row mais ça marche toujours. (L'original avait une faute de frappe, donc je l'ai réparé.)
Q1. D'où vient la ligne $? Q2. Pourriez-vous expliquer get ('users', 5, $ rows) ;? Les utilisateurs doivent être la table en sql, et limiter à 5, mais pourquoi ai-je besoin de $ rows?
Dans le modèle,
// get 5 rows at a time
function getUsers($row)
{
$query=$this->db->get('users',5,$row);
if($query->num_rows()>0)
{
// return result set as an associative array
return $query->result_array();
}
}
dans le contrôleur,
$data['users']=$this->Users_model->getUsers($row);
Les suivants sont les codes complets.
Users_model.php
<?php
class Users_model extends Model
{
function Users()
{
// call the Model constructor
parent::Model();
// load database class and connect to MySQL
// $this->load->database();
}
function getAllUsers()
{
$query=$this->db->get('users');
if($query->num_rows()>0)
{
// return result set as an associative array
return $query->result_array();
}
}
function getUsersWhere($field,$param)
{
$this->db->where($field,$param);
$query=$this->db->get('users');
// return result set as an associative array
return $query->result_array();
}
// get 5 rows at a time
function getUsers($row)
{
$query=$this->db->get('users',5,$row);
if($query->num_rows()>0)
{
// return result set as an associative array
return $query->result_array();
}
}
// get total number of users
function getNumUsers()
{
return $this->db->count_all('users');
}
}
Ci-dessous users.php pour le contrôleur.
<?php
class Users extends Controller{
function Users(){
// load controller parent
parent::Controller();
// load 'Users' model
$this->load->model('Users_model');
}
function display($row=0){
// load pagination library
$this->load->library('pagination');
// set pagination parameters
$config['base_url']='http://127.0.0.1/ci_day4/index.php/users/display/';
$config['total_rows']=$this->Users_model->getNumUsers();
$config['per_page']='5';
$this->pagination->initialize($config);
// store data for being displayed on view file
$data['users']=$this->Users_model->getUsers($row);
$data['title']='Displaying user data';
$data['header']='User List';
$data['links']=$this->pagination->create_links();
// load 'testview' view
$this->load->view('users_view',$data);
}
}
@inkredibl: Que veut dire offset? Oui, j'aime le codeigniter. IMHO le meilleur cadre jusqu'à présent. – shin
J'ai ajouté une explication pour offset à la réponse. – inkredibl