https://wiki.kumbiaphp.com/api.php?action=feedcontributions&user=Cbeltranv&feedformat=atom
KumbiaPHP Framework Wiki - Contribuciones del usuario [es]
2024-03-29T09:33:17Z
Contribuciones del usuario
MediaWiki 1.34.1
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KumbiaPHP&diff=3026
Como Programar Consultas Paginadas en KumbiaPHP
2010-11-26T00:39:02Z
<p>Cbeltranv: </p>
<hr />
<div>Tomado del ejemplo: [[Como Programar Consultas Paginadas en KUMBIAPHP]]<br />
<br />
<br />
'''Diagrama de Clases'''<br />
<br />
[[Archivo:Geo.png]]<br />
<br />
'''DDL para PostgreSQL'''<br />
<br />
<source lang='sql'><br />
CREATE SCHEMA geo;<br />
<br />
CREATE TABLE geo.Pais<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Codigo char(2) UNIQUE NOT NULL,<br />
Nombre character varying(100) NOT NULL,<br />
Bandera bytea,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE geo.Departamento<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE geo.Ciudad<br />
(<br />
Id bigserial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
Departamento_Id integer REFERENCES Departamento(Id),<br />
Codigo char(3) DEFAULT ' ',<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<br />
<br />
''' Modelo: pais.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Pais extends ActiveRecord {<br />
protected $schema = 'geo';<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: departamento.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Departamento extends ActiveRecord {<br />
protected $schema = 'geo';<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: ciudad.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
protected $schema = 'geo';<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
'''Diagrama de Secuencia'''<br />
<br />
[[Archivo:ConsultaGeo.png]]<br />
<br />
<br />
'''Controlador: ../geo/pais_controller.php'''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class PaisController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
<br />
public function pageCiudades($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: ../geo/pais/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("geo/departamento/index/1/$item->id", $item->codigo); else echo Html::linkAction("pageCiudades/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?> - <?php echo Html::img('banderas/' . 'flag_' . $item->codigo . '.gif', "$item->nombre")?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: ../geo/pais/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "S/C"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("pageCiudades/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("pageCiudades/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Controlador: ../geo/departamento_controller.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class DepartamentoController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
public function pageCiudades($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: ../geo/departamento/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::linkAction("pageCiudades/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: ../geo/departamento/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "S/C"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)<br />
--[[Usuario:Henry.stivens|Henry.stivens]] 12:00 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KumbiaPHP&diff=3025
Como Programar Consultas Paginadas en KumbiaPHP
2010-11-24T16:33:30Z
<p>Cbeltranv: </p>
<hr />
<div>Tomado del ejemplo: [[Como Programar Consultas Paginadas en KUMBIAPHP]]<br />
<br />
<br />
'''Diagrama de Clases'''<br />
<br />
[[Archivo:Geo.png]]<br />
<br />
'''DDL para PostgreSQL'''<br />
<br />
<source lang='sql'><br />
CREATE SCHEMA geo;<br />
<br />
CREATE TABLE geo.Pais<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Codigo char(2) UNIQUE NOT NULL,<br />
Nombre character varying(100) NOT NULL,<br />
Bandera bytea,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE geo.Departamento<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE geo.Ciudad<br />
(<br />
Id bigserial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
Departamento_Id integer REFERENCES Departamento(Id),<br />
Codigo char(3) DEFAULT ' ',<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<br />
<br />
''' Modelo: pais.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Pais extends ActiveRecord {<br />
protected $schema = 'geo';<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: departamento.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Departamento extends ActiveRecord {<br />
protected $schema = 'geo';<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: ciudad.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
protected $schema = 'geo';<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
'''Diagrama de Secuencia'''<br />
<br />
[[Archivo:ConsultaGeo.png]]<br />
<br />
<br />
'''Controlador: ../geo/pais_controller.php'''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class PaisController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
<br />
public function pageCiudades($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: ../geo/pais/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("geo/departamento/index/1/$item->id", $item->codigo); else echo Html::linkAction("pageCiudades/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?> - <?php echo pg_unescape_bytea($item->bandera)?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: ../geo/pais/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "S/C"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("pageCiudades/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("pageCiudades/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Controlador: ../geo/departamento_controller.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class DepartamentoController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
public function pageCiudades($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: ../geo/departamento/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::linkAction("pageCiudades/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: ../geo/departamento/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "S/C"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)<br />
--[[Usuario:Henry.stivens|Henry.stivens]] 12:00 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Archivo:Geo.png&diff=3024
Archivo:Geo.png
2010-11-24T16:28:20Z
<p>Cbeltranv: subida una nueva versión de «Archivo:Geo.png»</p>
<hr />
<div>Diagrama de Clases</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KumbiaPHP&diff=3023
Como Programar Consultas Paginadas en KumbiaPHP
2010-11-23T15:36:05Z
<p>Cbeltranv: </p>
<hr />
<div>Tomado del ejemplo: [[Como Programar Consultas Paginadas en KUMBIAPHP]]<br />
<br />
<br />
'''Diagrama de Clases'''<br />
<br />
[[Archivo:Geo.png]]<br />
<br />
'''DDL para PostgreSQL'''<br />
<br />
<source lang='sql'><br />
CREATE SCHEMA geo;<br />
<br />
CREATE TABLE geo.Pais<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Codigo char(2) UNIQUE NOT NULL,<br />
Nombre character varying(100) NOT NULL,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE geo.Departamento<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE geo.Ciudad<br />
(<br />
Id bigserial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
Departamento_Id integer REFERENCES Departamento(Id),<br />
Codigo char(3) DEFAULT ' ',<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<br />
<br />
''' Modelo: pais.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Pais extends ActiveRecord {<br />
protected $schema = 'geo';<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: departamento.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Departamento extends ActiveRecord {<br />
protected $schema = 'geo';<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: ciudad.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
protected $schema = 'geo';<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
'''Diagrama de Secuencia'''<br />
<br />
[[Archivo:ConsultaGeo.png]]<br />
<br />
<br />
'''Controlador: ../geo/pais_controller.php'''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class PaisController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
<br />
public function pageCiudades($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: ../geo/pais/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("geo/departamento/index/1/$item->id", $item->codigo); else echo Html::linkAction("pageCiudades/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: ../geo/pais/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "S/C"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("pageCiudades/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("pageCiudades/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Controlador: ../geo/departamento_controller.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class DepartamentoController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
public function pageCiudades($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: ../geo/departamento/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::linkAction("pageCiudades/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: ../geo/departamento/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "S/C"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)<br />
--[[Usuario:Henry.stivens|Henry.stivens]] 12:00 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KumbiaPHP&diff=3021
Como Programar Consultas Paginadas en KumbiaPHP
2010-11-23T05:06:52Z
<p>Cbeltranv: </p>
<hr />
<div>Tomado del ejemplo: [[Como Programar Consultas Paginadas en KUMBIAPHP]]<br />
<br />
<br />
'''Diagrama de Clases'''<br />
<br />
[[Archivo:Geo.png]]<br />
<br />
'''DDL para PostgreSQL'''<br />
<br />
<source lang='sql'><br />
CREATE SCHEMA geo;<br />
<br />
CREATE TABLE geo.Pais<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Codigo char(2) UNIQUE NOT NULL,<br />
Nombre character varying(100) NOT NULL,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE geo.Departamento<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE geo.Ciudad<br />
(<br />
Id bigserial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
Departamento_Id integer REFERENCES Departamento(Id),<br />
Codigo char(3) DEFAULT ' ',<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<br />
<br />
''' Modelo: pais.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Pais extends ActiveRecord {<br />
public $schema = 'geo';<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: departamento.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Departamento extends ActiveRecord {<br />
public $schema = 'geo';<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: ciudad.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
public $schema = 'geo';<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
'''Diagrama de Secuencia'''<br />
<br />
[[Archivo:ConsultaGeo.png]]<br />
<br />
<br />
'''Controlador: ../geo/pais_controller.php'''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class PaisController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
<br />
public function pageCiudades($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: ../geo/pais/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::linkAction("departamento/index/1/$item->id", $item->codigo); else echo Html::linkAction("pageCiudades/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: ../geo/pais/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "S/C"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("pageCiudades/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("pageCiudades/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Controlador: ../geo/departamento_controller.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class DepartamentoController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
public function pageCiudades($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: ../geo/departamento/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::linkAction("pageCiudades/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: ../geo/departamento/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "S/C"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)<br />
--[[Usuario:Henry.stivens|Henry.stivens]] 12:00 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KumbiaPHP&diff=3020
Como Programar Consultas Paginadas en KumbiaPHP
2010-11-21T04:59:41Z
<p>Cbeltranv: </p>
<hr />
<div>Tomado del ejemplo: [[Como Programar Consultas Paginadas en KUMBIAPHP]]<br />
<br />
<br />
'''Diagrama de Clases'''<br />
<br />
[[Archivo:Geo.png]]<br />
<br />
'''DDL para PostgreSQL'''<br />
<br />
<source lang='sql'><br />
CREATE SCHEMA geo;<br />
<br />
CREATE TABLE geo.Pais<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Codigo char(2) UNIQUE NOT NULL,<br />
Nombre character varying(100) NOT NULL,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE geo.Departamento<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE geo.Ciudad<br />
(<br />
Id bigserial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
Departamento_Id integer REFERENCES Departamento(Id),<br />
Codigo char(3) DEFAULT ' ',<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<br />
<br />
''' Modelo: pais.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Pais extends ActiveRecord {<br />
public $schema = 'geo';<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: departamento.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Departamento extends ActiveRecord {<br />
public $schema = 'geo';<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: ciudad.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
public $schema = 'geo';<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
'''Diagrama de Secuencia'''<br />
<br />
[[Archivo:ConsultaGeo.png]]<br />
<br />
<br />
'''Controlador: pais_controller.php'''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class PaisController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
<br />
public function pageCiudades($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
</source><br />
<br />
<br />
''' Vista: views/pais/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("departamento/index/1/$item->id", $item->codigo); else echo Html::link("pais/pageCiudades/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: views/pais/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("pageCiudades/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("pageCiudades/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Controlador: departamento_controller.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class DepartamentoController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
public function pageCiudades($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: views/departamento/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::link("departamento/pageCiudades/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div></source><br />
<br />
<br />
''' Vista: views/departamento/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)<br />
--[[Usuario:Henry.stivens|Henry.stivens]] 12:00 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KumbiaPHP&diff=3019
Como Programar Consultas Paginadas en KumbiaPHP
2010-11-21T04:49:08Z
<p>Cbeltranv: </p>
<hr />
<div>Tomado del ejemplo: [[Como Programar Consultas Paginadas en KUMBIAPHP]]<br />
<br />
<br />
'''Diagrama de Clases'''<br />
<br />
[[Archivo:Geo.png]]<br />
<br />
'''DDL para PostgreSQL'''<br />
<br />
<source lang='sql'><br />
CREATE TABLE Pais<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Codigo char(2) UNIQUE NOT NULL,<br />
Nombre character varying(100) NOT NULL,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Departamento<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Ciudad<br />
(<br />
Id bigserial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
Departamento_Id integer REFERENCES Departamento(Id),<br />
Codigo char(3) DEFAULT ' ',<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<br />
<br />
''' Modelo: pais.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Pais extends ActiveRecord {<br />
public $schema = 'geo';<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: departamento.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Departamento extends ActiveRecord {<br />
public $schema = 'geo';<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: ciudad.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
public $schema = 'geo';<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
'''Diagrama de Secuencia'''<br />
<br />
[[Archivo:ConsultaGeo.png]]<br />
<br />
<br />
'''Controlador: pais_controller.php'''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class PaisController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
<br />
public function pageCiudades($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
</source><br />
<br />
<br />
''' Vista: views/pais/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("departamento/index/1/$item->id", $item->codigo); else echo Html::link("pais/pageCiudades/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: views/pais/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("pageCiudades/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("pageCiudades/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Controlador: departamento_controller.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class DepartamentoController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
public function pageCiudades($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: views/departamento/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::link("departamento/pageCiudades/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div></source><br />
<br />
<br />
''' Vista: views/departamento/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)<br />
--[[Usuario:Henry.stivens|Henry.stivens]] 12:00 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KumbiaPHP&diff=3008
Como Programar Consultas Paginadas en KumbiaPHP
2010-11-13T10:24:52Z
<p>Cbeltranv: </p>
<hr />
<div>Tomado del ejemplo: [[Como Programar Consultas Paginadas en KUMBIAPHP]]<br />
<br />
<br />
'''Diagrama de Clases'''<br />
<br />
[[Archivo:Geo.png]]<br />
<br />
'''DDL para PostgreSQL'''<br />
<br />
<source lang='sql'><br />
CREATE TABLE Pais<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Codigo char(2) UNIQUE NOT NULL,<br />
Nombre character varying(100) NOT NULL,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Departamento<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Ciudad<br />
(<br />
Id bigserial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
Departamento_Id integer REFERENCES Departamento(Id),<br />
Codigo char(3) DEFAULT ' ',<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<br />
<br />
''' Modelo: pais.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Pais extends ActiveRecord {<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: departamento.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Departamento extends ActiveRecord {<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: ciudad.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
'''Diagrama de Secuencia'''<br />
<br />
[[Archivo:ConsultaGeo.png]]<br />
<br />
<br />
'''Controlador: pais_controller.php'''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class PaisController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
<br />
public function pageCiudades($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
</source><br />
<br />
<br />
''' Vista: views/pais/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("departamento/index/1/$item->id", $item->codigo); else echo Html::link("pais/pageCiudades/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: views/pais/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("pageCiudades/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("pageCiudades/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Controlador: departamento_controller.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class DepartamentoController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
public function pageCiudades($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: views/departamento/index.phtml '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::link("departamento/pageCiudades/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div></source><br />
<br />
<br />
''' Vista: views/departamento/pageCiudades.phtml'''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)<br />
--[[Usuario:Henry.stivens|Henry.stivens]] 12:00 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Archivo:ConsultaGeo.png&diff=3005
Archivo:ConsultaGeo.png
2010-11-10T02:38:14Z
<p>Cbeltranv: subida una nueva versión de «Archivo:ConsultaGeo.png»: Diagrama de secuencia</p>
<hr />
<div>Diagrama de Secuencia</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KumbiaPHP&diff=3004
Como Programar Consultas Paginadas en KumbiaPHP
2010-11-10T02:12:27Z
<p>Cbeltranv: </p>
<hr />
<div>Tomado del ejemplo: [[Como Programar Consultas Paginadas en KUMBIAPHP]]<br />
<br />
[[Archivo:Geo.png]]<br />
<br />
'''DDL para PostgreSQL'''<br />
<br />
<source lang='sql'><br />
CREATE TABLE Pais<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Codigo char(2) UNIQUE NOT NULL,<br />
Nombre character varying(100) NOT NULL,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Departamento<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Ciudad<br />
(<br />
Id bigserial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
Departamento_Id integer REFERENCES Departamento(Id),<br />
Codigo char(3) DEFAULT ' ',<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<br />
''' Modelo: pais.php '''<br />
<source lang='php'><br />
<?php<br />
class Pais extends ActiveRecord {<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: departamento.php '''<br />
<source lang='php'><br />
<?php<br />
class Departamento extends ActiveRecord {<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: ciudad.php '''<br />
<source lang='php'><br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
[[Archivo:ConsultaGeo.png]]<br />
<br />
'''Controlador: pais_controller.php'''<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class PaisController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
<br />
public function pageCiudades($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
</source><br />
<br />
<br />
''' Vista: views/pais/index.phtml '''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("departamento/index/1/$item->id", $item->codigo); else echo Html::link("pais/pageCiudades/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: views/pais/pageCiudades.phtml'''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("pageCiudades/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("pageCiudades/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Controlador: departamento_controller.php '''<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class DepartamentoController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
public function pageCiudades($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: views/departamento/index.phtml '''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::link("departamento/pageCiudades/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div></source><br />
<br />
<br />
''' Vista: views/departamento/pageCiudades.phtml'''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)<br />
--[[Usuario:Henry.stivens|Henry.stivens]] 12:00 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Archivo:ConsultaGeo.png&diff=3003
Archivo:ConsultaGeo.png
2010-11-10T02:11:05Z
<p>Cbeltranv: Diagrama de Secuencia</p>
<hr />
<div>Diagrama de Secuencia</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KumbiaPHP&diff=3002
Como Programar Consultas Paginadas en KumbiaPHP
2010-11-08T03:56:30Z
<p>Cbeltranv: </p>
<hr />
<div>Tomado del ejemplo: [[Como Programar Consultas Paginadas en KUMBIAPHP]]<br />
<br />
[[Archivo:Geo.png]]<br />
<br />
'''DDL para PostgreSQL'''<br />
<br />
<source lang='sql'><br />
-- DDL para PostgreSQL<br />
<br />
CREATE TABLE Pais<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Codigo char(2) UNIQUE NOT NULL,<br />
Nombre character varying(100) NOT NULL,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Departamento<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Ciudad<br />
(<br />
Id bigserial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
Departamento_Id integer REFERENCES Departamento(Id),<br />
Codigo char(3) DEFAULT ' ',<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<br />
''' Modelo: pais.php '''<br />
<source lang='php'><br />
<?php<br />
class Pais extends ActiveRecord {<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: departamento.php '''<br />
<source lang='php'><br />
<?php<br />
class Departamento extends ActiveRecord {<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: ciudad.php '''<br />
<source lang='php'><br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
'''Controlador: pais_controller.php'''<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class PaisController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
<br />
public function pageCiudades($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
</source><br />
<br />
<br />
''' Vista: views/pais/index.phtml '''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("departamento/index/1/$item->id", $item->codigo); else echo Html::link("pais/pageCiudades/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: views/pais/pageCiudades.phtml'''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("pageCiudades/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("pageCiudades/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Controlador: departamento_controller.php '''<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class DepartamentoController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
public function pageCiudades($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: views/departamento/index.phtml '''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::link("departamento/pageCiudades/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div></source><br />
<br />
<br />
''' Vista: views/departamento/pageCiudades.phtml'''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)<br />
--[[Usuario:Henry.stivens|Henry.stivens]] 12:00 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Archivo:Geo.png&diff=3001
Archivo:Geo.png
2010-11-08T03:52:01Z
<p>Cbeltranv: Diagrama de Clases</p>
<hr />
<div>Diagrama de Clases</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KumbiaPHP&diff=2996
Como Programar Consultas Paginadas en KumbiaPHP
2010-11-05T14:15:53Z
<p>Cbeltranv: </p>
<hr />
<div>Tomado del ejemplo: [[Como Programar Consultas Paginadas en KUMBIAPHP]] Aun si probar.<br />
<br />
'''DDL para PostgreSQL'''<br />
<br />
<source lang='sql'><br />
-- DDL para PostgreSQL<br />
<br />
CREATE TABLE Pais<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Codigo char(2) UNIQUE NOT NULL,<br />
Nombre character varying(100) NOT NULL,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Departamento<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Ciudad<br />
(<br />
Id bigserial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
Departamento_Id integer REFERENCES Departamento(Id),<br />
Codigo char(3) DEFAULT ' ',<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<br />
''' Modelo: pais.php '''<br />
<source lang='php'><br />
<?php<br />
class Pais extends ActiveRecord {<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: departamento.php '''<br />
<source lang='php'><br />
<?php<br />
class Departamento extends ActiveRecord {<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: ciudad.php '''<br />
<source lang='php'><br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
'''Controlador: pais_controller.php'''<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class PaisController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
<br />
public function pageCiudades($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
</source><br />
<br />
<br />
''' Vista: views/pais/index.phtml '''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("departamento/index/1/$item->id", $item->codigo); else echo Html::link("pais/pageCiudades/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: views/pais/pageCiudades.phtml'''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("pageCiudades/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("pageCiudades/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Controlador: departamento_controller.php '''<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class DepartamentoController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
public function pageCiudades($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: views/departamento/index.phtml '''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::link("departamento/pageCiudades/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div></source><br />
<br />
<br />
''' Vista: views/departamento/pageCiudades.phtml'''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("pageCiudades/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)<br />
--[[Usuario:Henry.stivens|Henry.stivens]] 12:00 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KumbiaPHP&diff=2991
Como Programar Consultas Paginadas en KumbiaPHP
2010-11-03T22:33:17Z
<p>Cbeltranv: Deshecha la edición 2988 de Cbeltranv (disc.)</p>
<hr />
<div>Tomado del ejemplo: [[Como Programar Consultas Paginadas en KUMBIAPHP]] Aun si probar.<br />
<br />
'''DDL para PostgreSQL'''<br />
<br />
<source lang='sql'><br />
-- DDL para PostgreSQL<br />
<br />
CREATE TABLE Pais<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Codigo char(2) UNIQUE NOT NULL,<br />
Nombre character varying(100) NOT NULL,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Departamento<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Ciudad<br />
(<br />
Id bigserial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
Departamento_Id integer REFERENCES Departamento(Id),<br />
Codigo char(3) DEFAULT ' ',<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<br />
''' Modelo: pais.php '''<br />
<source lang='php'><br />
<?php<br />
class Pais extends ActiveRecord {<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: departamento.php '''<br />
<source lang='php'><br />
<?php<br />
class Departamento extends ActiveRecord {<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: ciudad.php '''<br />
<source lang='php'><br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
'''Controlador: pais_controller.php'''<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class PaisController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
<br />
public function ciudades($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
<br />
public function departamentos($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: views/pais/index.phtml '''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("pais/departamentos/1/$item->id", $item->codigo); else echo Html::link("pais/ciudades/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: views/pais/ciudades.phtml'''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("ciudades/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("ciudades/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Vista: views/pais/departamentos.phtml'''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::link("departamento/ciudades/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("departamentos/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("departamentos/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Controlador: departamento_controller.php '''<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class DepartamentoController extends ApplicationController {<br />
public function ciudades($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: views/departamento/ciudades.phtml'''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("index/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("index/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)<br />
--[[Usuario:Henry.stivens|Henry.stivens]] 12:00 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KumbiaPHP&diff=2988
Como Programar Consultas Paginadas en KumbiaPHP
2010-11-03T14:42:35Z
<p>Cbeltranv: </p>
<hr />
<div>Tomado del ejemplo: [[Como Programar Consultas Paginadas en KUMBIAPHP]] Aun si probar.<br />
<br />
'''DDL para PostgreSQL'''<br />
<br />
<source lang='sql'><br />
-- DDL para PostgreSQL<br />
<br />
CREATE TABLE Pais<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Codigo char(2) UNIQUE NOT NULL,<br />
Nombre character varying(100) NOT NULL,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Departamento<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
<br />
CREATE TABLE Ciudad<br />
(<br />
Id bigserial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
Departamento_Id integer REFERENCES Departamento(Id),<br />
Codigo char(3) DEFAULT ' ',<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<br />
<br />
''' Modelo: pais.php '''<br />
<source lang='php'><br />
<?php<br />
class Pais extends ActiveRecord {<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: departamento.php '''<br />
<source lang='php'><br />
<?php<br />
class Departamento extends ActiveRecord {<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: ciudad.php '''<br />
<source lang='php'><br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
'''Controlador: consultarpaises_controller.php'''<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class ConsultarPaisesController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
<br />
public function ciudades($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
<br />
public function departamentos($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
}<br />
?></source><br />
<br />
''' Vista: views/consultarpaises/index.phtml '''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("consultarpaises/departamentos/1/$item->id", $item->codigo); else echo Html::link("consultarpaises/ciudades/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
''' Vista: views/consultarpaises/ciudades.phtml'''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("ciudades/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("ciudades/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
''' Vista: views/consultarpaises/departamentos.phtml'''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::link("consultardepartamentos/index/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("departamentos/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("departamentos/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
''' Controlador: consultardepartamentos_controller.php '''<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class ConsultarDepartamentosController extends ApplicationController {<br />
public function index($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Vista: views/consultardepartamentos/index.phtml'''<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("index/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("index/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)<br />
--[[Usuario:Henry.stivens|Henry.stivens]] 12:00 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KUMBIAPHP&diff=2984
Como Programar Consultas Paginadas en KUMBIAPHP
2010-11-02T15:41:35Z
<p>Cbeltranv: </p>
<hr />
<div>== Ejemplo probado del uso de paginate en Beta 2 ==<br />
<br />
'''Controlador: consultarpaises_controller.php'''<br />
<source lang='php'><br />
<?php<br />
Load::models('pais');<br />
class ConsultarPaisesController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
''' Modelo: pais.php '''<br />
<br />
<source lang='sql'><br />
-- DDL para PostgreSQL<br />
CREATE TABLE Pais<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Codigo char(2) UNIQUE NOT NULL,<br />
Nombre character varying(100) NOT NULL,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<source lang='php'><br />
<?php<br />
class Pais extends ActiveRecord {<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
''' Vista: index.phtml de views/consultarpaises '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("consultardepartamentospais/index/1/$item->id", $item->codigo); else echo Html::link("consultarciudadespais/index/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
Como se nota con Html::link("consultarciudadespais/index/1/$item->id"?> permite el despliegue de las ciudades del respectivo pais entonces:<br />
<br />
''' Controlador: consultarciudadespais_controller.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class ConsultarCiudadesPaisController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
La función index tiene el parámetro $paisid con default 48 que en mi caso es el id de Colombia<br />
<br />
''' Modelo: ciudad.php '''<br />
<br />
<source lang='sql'><br />
-- DDL para PostgreSQL<br />
CREATE TABLE Ciudad<br />
(<br />
Id bigserial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
Departamento_Id integer REFERENCES Departamento(Id),<br />
Codigo char(3) DEFAULT ' ',<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<source lang='php'><br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
</source><br />
<br />
Al invocar paginate se debe incluir el parametro "pais_id = $paisid" con comillas dobles para que resuelva $paisid<br />
<br />
''' Vista: index.phtml de views/consultarciudadespais '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("index/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("index/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
Ahora para Colombia el Html::link("consultardepartamentospais/index/1/$item->id"?> permite el despliegue de los departamentos del respectivo pais entonces:<br />
<br />
''' Controlador: consultardepartamentospais_controller.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('departamento', 'pais');<br />
class ConsultarDepartamentosPaisController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
<br />
''' Modelo: departamento.php '''<br />
<br />
<source lang='sql'><br />
-- DDL para PostgreSQL<br />
CREATE TABLE Departamento<br />
(<br />
Id serial,<br />
PRIMARY KEY (Id),<br />
Nombre character varying(100) NOT NULL,<br />
Pais_Id integer REFERENCES Pais(Id) NOT NULL,<br />
CodigoNumerico integer,<br />
Activ boolean DEFAULT true<br />
);<br />
</source><br />
<source lang='php'><br />
<?php<br />
class Departamento extends ActiveRecord {<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
</source><br />
<br />
''' Vista: index.phtml de views/consultardepartamentospais '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::link("consultarciudadesdepartamento/index/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
Como se nota Html::link("consultarciudadesdepartamento/index/1/$item->id"?> permite el despliegue de los departamentos del respectivo pais entonces:<br />
<br />
''' Controlador: consultarciudadesdepartamento_controller.php '''<br />
<br />
<source lang='php'><br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class ConsultarCiudadesDepartamentoController extends ApplicationController {<br />
public function index($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
La función index tiene el parámetro $departamentoid con default 15 que en mi caso es el id de Cundinamarca<br />
<br />
''' Vista: index.phtml de views/consultarciudadesdepartamento '''<br />
<br />
<source lang='php'><br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("index/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("index/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
</source><br />
<br />
<br />
[[Categoría:Tutoriales KumbiaPHP]]<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KUMBIAPHP&diff=2981
Como Programar Consultas Paginadas en KUMBIAPHP
2010-11-02T02:59:03Z
<p>Cbeltranv: </p>
<hr />
<div>== Ejemplo probado del uso de paginate en Beta 2 ==<br />
<br />
Controlador: consultarpaises_controller.php<br />
<br />
<?php<br />
Load::models('pais');<br />
class ConsultarPaisesController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
}<br />
?><br />
<br />
Modelo: pais.php<br />
<br />
<?php<br />
class Pais extends ActiveRecord {<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
<br />
Vista: index.phtml de views/consultarpaises<br />
<br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("consultardepartamentospais/index/1/$item->id", $item->codigo); else echo Html::link("consultarciudadespais/index/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
<br />
Como se nota con Html::link("consultarciudadespais/index/1/$item->id"?> permite el despliegue de las ciudades del respectivo pais entonces:<br />
<br />
Controlador: consultarciudadespais_controller.php<br />
<br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class ConsultarCiudadesPaisController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
?><br />
<br />
La funcion index tiene el parametro $paisid con default 48 que en mi caso es el id de Colombia<br />
<br />
Modelo: ciudad.php<br />
<br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
<br />
Al invocar paginate se debe incluir el parametro "pais_id = $paisid" con comillas dobles para que resuelva $paisid<br />
<br />
Vista: index.phtml de views/consultarciudadespais<br />
<br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("index/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("index/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
<br />
Ahora para Colombia el Html::link("consultardepartamentospais/index/1/$item->id"?> permite el despliegue de los departamentos del respectivo pais entonces:<br />
<br />
Controlador: consultardepartamentospais_controller.php<br />
<br />
<?php<br />
Load::models('departamento', 'pais');<br />
class ConsultarDepartamentosPaisController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
}<br />
?><br />
<br />
Modelo: departamento.php<br />
<br />
<?php<br />
class Departamento extends ActiveRecord {<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
<br />
Vista: index.phtml de views/consultardepartamentospais<br />
<br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::link("consultarciudadesdepartamento/index/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
<br />
Como se nota Html::link("consultarciudadesdepartamento/index/1/$item->id"?> permite el despliegue de los departamentos del respectivo pais entonces:<br />
<br />
Controlador: consultarciudadesdepartamento_controller.php<br />
<br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class ConsultarCiudadesDepartamentoController extends ApplicationController {<br />
public function index($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
<br />
Vista: index.phtml de views/consultarciudadesdepartamento<br />
<br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("index/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("index/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KUMBIAPHP&diff=2980
Como Programar Consultas Paginadas en KUMBIAPHP
2010-11-02T02:56:12Z
<p>Cbeltranv: </p>
<hr />
<div>== Ejemplo probado del uso de paginate en Beta 2 ==<br />
<br />
[[GestionEmpresarialGeo.png]]<br />
<br />
Controlador: consultarpaises_controller.php<br />
<br />
<?php<br />
Load::models('pais');<br />
class ConsultarPaisesController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
}<br />
?><br />
<br />
Modelo: pais.php<br />
<br />
<?php<br />
class Pais extends ActiveRecord {<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
<br />
Vista: index.phtml de views/consultarpaises<br />
<br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("consultardepartamentospais/index/1/$item->id", $item->codigo); else echo Html::link("consultarciudadespais/index/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
<br />
Como se nota con Html::link("consultarciudadespais/index/1/$item->id"?> permite el despliegue de las ciudades del respectivo pais entonces:<br />
<br />
Controlador: consultarciudadespais_controller.php<br />
<br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class ConsultarCiudadesPaisController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
?><br />
<br />
La funcion index tiene el parametro $paisid con default 48 que en mi caso es el id de Colombia<br />
<br />
Modelo: ciudad.php<br />
<br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
<br />
Al invocar paginate se debe incluir el parametro "pais_id = $paisid" con comillas dobles para que resuelva $paisid<br />
<br />
Vista: index.phtml de views/consultarciudadespais<br />
<br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("index/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("index/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
<br />
Ahora para Colombia el Html::link("consultardepartamentospais/index/1/$item->id"?> permite el despliegue de los departamentos del respectivo pais entonces:<br />
<br />
Controlador: consultardepartamentospais_controller.php<br />
<br />
<?php<br />
Load::models('departamento', 'pais');<br />
class ConsultarDepartamentosPaisController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
}<br />
?><br />
<br />
Modelo: departamento.php<br />
<br />
<?php<br />
class Departamento extends ActiveRecord {<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
<br />
Vista: index.phtml de views/consultardepartamentospais<br />
<br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::link("consultarciudadesdepartamento/index/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
<br />
Como se nota Html::link("consultarciudadesdepartamento/index/1/$item->id"?> permite el despliegue de los departamentos del respectivo pais entonces:<br />
<br />
Controlador: consultarciudadesdepartamento_controller.php<br />
<br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class ConsultarCiudadesDepartamentoController extends ApplicationController {<br />
public function index($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
<br />
Vista: index.phtml de views/consultarciudadesdepartamento<br />
<br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("index/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("index/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div><br />
<br />
--[[Usuario:Cbeltranv|Cbeltranv]] 02:56 2 nov 2010 (UTC)</div>
Cbeltranv
https://wiki.kumbiaphp.com/index.php?title=Como_Programar_Consultas_Paginadas_en_KUMBIAPHP&diff=2979
Como Programar Consultas Paginadas en KUMBIAPHP
2010-11-02T02:52:06Z
<p>Cbeltranv: Consultas paginadas de un modelo Pais Ciudad Departamento</p>
<hr />
<div>== Ejemplo probado del uso de paginate en Beta 2 ==<br />
<br />
[[Archivo:/home/carlos/Escritorio/GestionEmpresarialGeo.png]]<br />
<br />
Controlador: consultarpaises_controller.php<br />
<br />
<?php<br />
Load::models('pais');<br />
class ConsultarPaisesController extends ApplicationController {<br />
public function index($page=1)<br />
{<br />
$pais = new Pais();<br />
$this->listPaises = $pais->getPaises($page);<br />
}<br />
}<br />
?><br />
<br />
Modelo: pais.php<br />
<br />
<?php<br />
class Pais extends ActiveRecord {<br />
public function getPaises($page, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
}<br />
?><br />
<br />
Vista: index.phtml de views/consultarpaises<br />
<br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Paises</h3><br />
<ul><br />
<?php foreach ($listPaises->items as $item):?><br />
<li><br />
<?php if ($item->id == 48) echo Html::link("consultardepartamentospais/index/1/$item->id", $item->codigo); else echo Html::link("consultarciudadespais/index/1/$item->id", $item->codigo);?> - <?php echo $item->nombre?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listPaises->prev) echo Html::linkAction("index/$listPaises->prev/", '<< Anterior |');?><br />
<?php if($listPaises->next) echo Html::linkAction("index/$listPaises->next/", 'Próximo >>');?><br />
</div><br />
<br />
Como se nota con Html::link("consultarciudadespais/index/1/$item->id"?> permite el despliegue de las ciudades del respectivo pais entonces:<br />
<br />
Controlador: consultarciudadespais_controller.php<br />
<br />
<?php<br />
Load::models('ciudad', 'pais');<br />
class ConsultarCiudadesPaisController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$ciudadespais = new Ciudad();<br />
$this->listCiudadesPais = $ciudadespais->getCiudadesPais($page, $paisid);<br />
}<br />
}<br />
?><br />
<br />
La funcion index tiene el parametro $paisid con default 48 que en mi caso es el id de Colombia<br />
<br />
Modelo: ciudad.php<br />
<br />
<?php<br />
class Ciudad extends ActiveRecord {<br />
public function getCiudadesPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getCiudadesDepartamento($page, $departamentoid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "departamento_id = $departamentoid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
}<br />
?><br />
<br />
Al invocar paginate se debe incluir el parametro "pais_id = $paisid" con comillas dobles para que resuelva $paisid<br />
<br />
Vista: index.phtml de views/consultarciudadespais<br />
<br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesPais->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesPais->prev) echo Html::linkAction("index/$listCiudadesPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listCiudadesPais->next) echo Html::linkAction("index/$listCiudadesPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
<br />
Ahora para Colombia el Html::link("consultardepartamentospais/index/1/$item->id"?> permite el despliegue de los departamentos del respectivo pais entonces:<br />
<br />
Controlador: consultardepartamentospais_controller.php<br />
<br />
<?php<br />
Load::models('departamento', 'pais');<br />
class ConsultarDepartamentosPaisController extends ApplicationController {<br />
public function index($page=1, $paisid=48)<br />
{<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($paisid);<br />
$departamentospais = new Departamento();<br />
$this->listDepartamentosPais = $departamentospais->getDepartamentosPais($page, $paisid);<br />
}<br />
}<br />
?><br />
<br />
Modelo: departamento.php<br />
<br />
<?php<br />
class Departamento extends ActiveRecord {<br />
public function getDepartamentosPais($page, $paisid, $ppage=25)<br />
{<br />
return $this->paginate("page: $page", "pais_id = $paisid", "per_page: $ppage", 'order: nombre asc');<br />
}<br />
public function getNombre($id)<br />
{<br />
return $this->find($id)->nombre;<br />
}<br />
public function getIdPais($id)<br />
{<br />
return $this->find($id)->pais_id;<br />
}<br />
}<br />
?><br />
<br />
Vista: index.phtml de views/consultardepartamentospais<br />
<br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Departamentos de <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listDepartamentosPais->items as $item):?><br />
<li><br />
<?php echo Html::link("consultarciudadesdepartamento/index/1/$item->id", str_pad($item->codigonumerico, 2, "0", STR_PAD_LEFT));?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listDepartamentosPais->prev) echo Html::linkAction("index/$listDepartamentosPais->prev/$item->pais_id/", '<< Anterior |');?><br />
<?php if($listDepartamentosPais->next) echo Html::linkAction("index/$listDepartamentosPais->next/$item->pais_id/", 'Próximo >>');?><br />
</div><br />
<br />
Como se nota Html::link("consultarciudadesdepartamento/index/1/$item->id"?> permite el despliegue de los departamentos del respectivo pais entonces:<br />
<br />
Controlador: consultarciudadesdepartamento_controller.php<br />
<br />
<?php<br />
Load::models('ciudad', 'departamento', 'pais');<br />
class ConsultarCiudadesDepartamentoController extends ApplicationController {<br />
public function index($page=1, $departamentoid=15)<br />
{<br />
$departamentos = new Departamento();<br />
$this->nombredeldepartamento = $departamentos->getNombre($departamentoid);<br />
$this->idpais = $departamentos->getIdPais($departamentoid);<br />
$paises = new Pais();<br />
$this->nombredelpais = $paises->getNombre($this->idpais);<br />
$ciudadesdepartamento = new Ciudad();<br />
$this->listCiudadesDepartamento = $ciudadesdepartamento->getCiudadesDepartamento($page, $departamentoid);<br />
}<br />
}<br />
?><br />
<br />
Vista: index.phtml de views/consultarciudadesdepartamento<br />
<br />
<div class="content"><br />
<?php echo View::content();?><br />
<h3>Ciudades de <?php echo $nombredeldepartamento;?> - <?php echo $nombredelpais;?></h3><br />
<ul><br />
<?php foreach ($listCiudadesDepartamento->items as $item):?><br />
<li><br />
<?php if ($item->codigo == " ") echo "ZZZ"; else echo $item->codigo;?> - <?php echo str_pad($item->codigonumerico, 3, "0", STR_PAD_LEFT);?> - <?php echo $item->nombre;?><br />
</li><br />
<?php endforeach;?><br />
</ul><br />
<?php if($listCiudadesDepartamento->prev) echo Html::linkAction("index/$listCiudadesDepartamento->prev/$item->departamento_id/", '<< Anterior |');?><br />
<?php if($listCiudadesDepartamento->next) echo Html::linkAction("index/$listCiudadesDepartamento->next/$item->departamento_id/", 'Próximo >>');?><br />
</div></div>
Cbeltranv