Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/07/2016, 08:04
Avatar de carscx
carscx
 
Fecha de Ingreso: noviembre-2008
Mensajes: 227
Antigüedad: 15 años, 5 meses
Puntos: 10
Pregunta SLIM PHP Crear paginacion

Buenas,

Estoy creando una pequeña API con Slim PHP y ya avance en generar una paginacion, y si bien obtengo los datos deseados, aparecen unos Warning como los siguientes:

Código HTML:
Ver original
  1. <b>Warning</b>:  Attempt to assign property of non-object in
  2. <b>C:\xampp\htdocs\api\app\model\usuario_model.php</b> on line
  3. <b>59</b>
  4. <br />

Esta es la funcion que estoy usando:

Código PHP:
Ver original
  1. public function GetAllPaginado($pagina,$limite)
  2.     {
  3.         try
  4.         {
  5.  
  6.             $pagina = (int)$pagina;
  7.             $limite = (int)$limite;
  8.             $offset = (--$pagina) * $limite;
  9.             $result = array();
  10.  
  11.             $this->response->infoPaginadora = array();
  12.             $this->response->infoPaginadora = array(
  13.                 'nroPaginas' => 0,
  14.                 'numeroResultados' => 0,
  15.                 'actual' => 0);
  16.  
  17.             $this->response->infoPaginadora->nroPaginas = 0;
  18.             $this->response->infoPaginadora->numeroResultados = 0;
  19.             $this->response->infoPaginadora->actual = 0;
  20.  
  21.  
  22.             $sql = "SELECT u.usuario_id, u.usuario_nombre, u.usuario_apellido, u.usuario_consultora, u.usuario_email, u.usuario_telefono, u.usuario_obra_social, u.usuario_fecha_alta_empresa, u.usuario_sector, u.usuario_avatar, u.usuario_observaciones, u.usuario_estado
  23.                             FROM usuarios u
  24.                             WHERE u.usuario_estado = 1
  25.                             ORDER BY u.usuario_id DESC
  26.                             LIMIT :limite OFFSET :offset";
  27.  
  28.             $sqlCount = "SELECT COUNT(*) as cantidad_resultados, u.usuario_id, u.usuario_nombre, u.usuario_apellido, u.usuario_consultora, u.usuario_email, u.usuario_telefono, u.usuario_obra_social, u.usuario_fecha_alta_empresa, u.usuario_sector, u.usuario_avatar, u.usuario_observaciones, u.usuario_estado
  29.                             FROM usuarios u
  30.                             WHERE u.usuario_estado = 1
  31.                             ORDER BY u.usuario_id DESC";
  32.  
  33.             $stmCount = $this->db->prepare($sqlCount);
  34.             $stm = $this->db->prepare($sql);
  35.  
  36.             $stm->bindValue(":limite", $limite, \PDO::PARAM_INT);
  37.             $stm->bindValue(":offset", $offset, \PDO::PARAM_INT);
  38.  
  39.             $stmCount->execute();
  40.             $stm->execute();
  41.  
  42.             $restCount = $stmCount->fetch();
  43.             $numResultTotal = $restCount->cantidad_resultados;
  44.  
  45.  
  46.             $this->response->setResponse(true);
  47.             $this->response->result = $stm->fetchAll();
  48.             $this->response->infoPaginadora->nroResultados = $numResultTotal;
  49.             $this->response->infoPaginadora->nroPaginas = ceil($numResultTotal / $limite);
  50.             $this->response->infoPaginadora->actual = $pagina+1;
  51.             $this->response->numResult = $stm->rowCount();
  52.  
  53.             return $this->response;
  54.         }
  55.         catch(Exception $e)
  56.         {
  57.             $this->response->setResponse(false, $e->getMessage());
  58.             return $this->response;
  59.         }
  60.     }

El error es que no esta asignando correctamente los valores, pero no entiendo muy bien el por qué de ello. Alguien que me arroje un poco de luz sobre esto?

Gracias,

Saludos,
__________________
Frontend Developer
JS+HTML5+CSS3
Backend Developer
PHP+MySQL