Paginacion
Enviado por istpoyon • 17 de Septiembre de 2013 • 318 Palabras (2 Páginas) • 287 Visitas
Para ello a mi proyecto lo llamaré CI..
Supongamos que tenemos una tabla llamada customers.
DROP TABLE IF EXISTS `customers`;
CREATE TABLE `customers` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NOT NULL,
`lastname` VARCHAR(45) NOT NULL,
`phone` VARCHAR(45) NOT NULL,
`address` VARCHAR(45) NOT NULL,
`email` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
Habrimos el archivo database.php y configuramos nuestra conexión de base de datos.
Luego dentro de config.php en el parametro $config['base_url'] ponemos algo así $config['base_url'] = “http://127.0.0.1/CI/”;
Despues en el archivo database.php solo indicamos que cargue la base de datos desde el inicio con $autoload['libraries'] = array(‘database’);
Todo esto dentro la carpeta config.
Ahora vamos a crear un modelo para trabajar con la base de datos (los modelos van dentro de la carpeta model).
customers_model.php
<?php
class Customers_model extends Model {
function getAllPaginated($per_page,$segment) {
$this->db->order_by('id ASC');
$q = $this->db->get('customers',$per_page,$segment);
$data["customers"]=array();
if ($q->num_rows() > 0)
{
foreach ($q->result() as $row)
{
$data["customers"][$row->id]["id"] = $row->id;
$data["customers"][$row->id]["name"] = $row->name;
$data["customers"][$row->id]["lastname"] = $row->lastname;
$data["customers"][$row->id]["phone"] = $row->phone;
$data["customers"][$row->id]["address"] = $row->address;
$data["customers"][$row->id]["email"] = $row->email;
}
}
return $data["customers"];
}
function totalCustomers()
{
$q = $this->db->get('customers');
return $q->num_rows() ;
}
}
?>
El método getAllPaginated nos regresa los registros paginados, y el método totalCustomers nos devuelve la cantidad de registros totales.
Ahora vamos a crear un controlador con un metodo index (los controladores van dentro de la carpeta controllers)
customers.php
<?php
class Customers extends Controller {
function Customers()
{
parent::Controller();
$this->load->helper(array('text','form','url'));
...