Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Problema con Paginador

Estas en el tema de Problema con Paginador en el foro de Frameworks y PHP orientado a objetos 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, 09:19
 
Fecha de Ingreso: enero-2014
Mensajes: 12
Antigüedad: 10 años, 3 meses
Puntos: 0
Problema con Paginador

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

Etiquetas: cakephp
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 14:38.