$ Satır nereden geliyor?

1 Cevap php

Ben CodeIgniter'ı öğrenme ve bir sorum var duyuyorum. Kodlar http://www.devshed.com/c/a/PHP/Paginating-Database-Records-with-the-Code-Igniter-PHP-Framework/ vardır

Aşağıdakiler modeli ve denetleyici vardır. Ve $ satırı tanımlamak değil ama hala çalışıyor. (Orijinal o yüzden sabit, yazım hatası vardı.)

Q1. Where does $row come from? Q2. Could you explain get('users', 5, $rows);? Users must be the table in sql, and limit 5, but why do I need $rows?

Modelde,

// 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();
}
}

Kontrol olarak,

$data['users']=$this->Users_model->getUsers($row);

Aşağıdakiler tam kodlardır.

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');
}
}

Aşağıdaki kontrol cihazı için users.php edilir.

<?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);
}
}

1 Cevap

$ Satır sizin Denetleyici ekranı yönteminde 0 varsayılan değere sahip bir parametredir.

İkinci ve üçüncü parametreler sınır ve ofset (buraya bakınız: http://codeigniter.com/user%5Fguide/database/active%5Frecord.html). Yani ikinci parametre (sınır) iade edilir kaç satır (maks) tanımlayan ve üçüncü parametre (ofset) başlatmak için ayarlamak sonuç hangi satır tanımlar. Yani 5 olmak 10 satır ve ayarlanmış sınırı varsa, 0 ilk 5 dönecektir örneğin, daha sonra ofset, ve 5 ofset satırları sonraki 5 (ikinci sayfa) dönecektir.

Görüntü yöntemine parametre adresinden gelen, bir segment sonra / görüntü / (buraya bakınız: http://codeigniter.com/user%5Fguide/general/controllers.html#passinguri).

Oh ve bu çerçevede beni işaret için teşekkürler, güzel biri gibi görünüyor, biri ;) şimdi bileceksiniz, bir süre önce böyle bir şey için bana sordu.