Foros del Web » Programando para Internet » PHP »

Cakephp Error de paginacion con cakephp

Estas en el tema de Error de paginacion con cakephp en el foro de PHP en Foros del Web. Hola amigos del foro, tengo un serio problema. Estoy trabajando con CAKEphp y tengo problemas al paginar. Cuando hago una busqueda por filtro, es todo ...
  #1 (permalink)  
Antiguo 13/01/2014, 08:29
 
Fecha de Ingreso: enero-2014
Mensajes: 12
Antigüedad: 10 años, 3 meses
Puntos: 0
Error de paginacion con cakephp

Hola amigos del foro, tengo un serio problema.

Estoy trabajando con CAKEphp y tengo problemas al paginar. Cuando hago una busqueda por filtro, es todo correcto. Pero al pasar a la 2 pagina con resultados el filtro se pierde totalmente y muestra todos los resultados.

Dejo el codigo para ver si me pueden ayudar.

Vista :

<div class="row">
<?php
echo '<h1 class="col-lg-8">Usuarios'.
'<span class="info"> '.
$this->Paginator->counter(array('format' => __('({:start}-{:end} de {:count})'))).
'</span>'.
$this->Html->link($this->Html->image('add_icon.png', array('title'=>'Agregar usuario')),
array('admin'=>true, 'controller'=>'users','action'=>'add'),array('esca pe'=>false));
echo '</h1>';

echo $this->FormLix->create('User', array('class'=>'form-search form-inline col-lg-4')).
$this->FormLix->input('search', array('label'=>array('class'=>'sr-only'),
'placeholder'=>'nombre, apellidos, email', 'style'=>'min-width:200px')).
$this->FormLix->end(array('label'=>'Buscar', 'class'=>'btn btn-primary', 'typeSubmit'=>'button'));
?>
</div>

<!--empty exception-->
<?
if (count($users) <= 0) {
echo '<p class="text-center text-info"><i>No se encontraron resultados</i></p>';
return;
}
?>

<div class="row">
<table class="table table-striped table-hover table-condensed col-lg-12">
<thead>
<tr>
<th>#</th>
<th><?=$this->Paginator->sort('username', 'Usuario');?></th>
<th><?=$this->Paginator->sort('name', 'Nombre');?></th>
<th><?=$this->Paginator->sort('email', 'E-mail');?></th>
<th><?=$this->Paginator->sort('created', 'Fecha de registro');?></th>
<th><?=$this->Paginator->sort('active', 'Estado');?></th>
</tr>
</thead>
<tbody>
<?php
$offset = $this->Paginator->counter(array('format' => '{:start}'));
foreach($users as $user) {
echo '<tr onclick="window.location.href=\''.$this->Html->url(array('controller'=>'users','action'=>'view ',
$user['User']['id'])).'\'">'.
'<td>'.($offset++).'</td>'.
'<td>'.h($user['User']['username']).'</td>'.
'<td>'.h($user['User']['name'].' '.$user['User']['father_surname'].' '.$user['User']['mother_surname']).'</td>'.
'<td>'.str_replace('@','[at]',h($user['User']['email'])).'</td>'.
'<td>'.$this->Time->format('d-m-Y H:i',strtotime($user['User']['created'])).'</td>'.
'<td>';
if ($user['User']['active'] == 1)
echo '<span class="label label-success">Activo</span>';
else
echo '<span class="label label-warning">Bloqueado</span>';
echo '</td>'.
'</tr>';
}
?>
</tbody>
</table>
</div>

<? echo $this->Paginator->superCondensed(); ?>

metodo superCondensed :

public function superCondensed($div = true) {
echo '<div class="row text-center">'.
'<ul class="pagination">'.
$this->prev().
$this->numbers().
$this->next().
'</ul>'.
'</div>';
}


Controlador Admin

public function admin_index() {
$conditions = array('active !=' => -1);
if (!empty($this->request->data)) {
$search = basicsLix::removeAcutes('%'.$this->request->data['User']['search'].'%');
$conditions = array('OR' => array(
basicsLix::removeSpecialCharacter('name') => $search,
basicsLix::removeSpecialCharacter('father_surname' ) =>$search,
basicsLix::removeSpecialCharacter('mother_surname' ) =>$search,
basicsLix::removeSpecialCharacter('email') =>$search,
basicsLix::removeSpecialCharacter('username')=>$se arch));
}
$users = $this->paginate('User', $conditions);

$this->set(compact('users'));
}

He encontrado creo, soluciones pero todas ocupan variables Sessions y esto me lo han pedido sin esas variables, es por eso que necesito otro tipo de solucion.

Última edición por nhernandez222; 13/01/2014 a las 09:33
  #2 (permalink)  
Antiguo 13/01/2014, 10:01
 
Fecha de Ingreso: enero-2014
Mensajes: 12
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Error de paginacion con cakephp

Ayuda plz!
  #3 (permalink)  
Antiguo 13/01/2014, 16:51
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Error de paginacion con cakephp

<saludos>
Pues si no te dejan usar variables de sesión, entonces cambia dichas variables
por variables ya sea de cookie, o pues si no hay de otra, por get o post
</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: cakephp, fecha, html, paginacion, registro, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:45.