Codeigniter 4馃敟 [25.- paginador]

En este tutorial vamos a trabajar con la paginaci贸n en otras palabras le vamos a poner un paginador a nuestros registros para que se amontonen tanto, ademas es indispensable colocar paginadores para evitar que se sobrecarguen las consultas a nuestra base de datos.

Codigo en github.com: https://github.com/programadornovato/codeigniter4/commit/1f14efc1ac544172548fb0ddc39dcec14cb4caaf

//app/Controllers/Micontrolador.php
<?php namespace App\Controllers;

use CodeIgniter\Controller;
use App\Models\UserModel;

class Micontrolador extends BaseController
{
 public function __construct(){
  helper('form');
 }
 public function guarda(){
  $userModel=new UserModel($db);
  $request= \Config\Services::request();
  $data=array(
   'name'=>$request->getPostGet('name'),
   'email'=>$request->getPostGet('email'),
  );
  if($request->getPostGet('id')){
   $data['id']=$request->getPostGet('id');
  }
  if($userModel->save($data)===false){
   var_dump($userModel->errors());
  }
  if($request->getPostGet('id')){
   $users=$userModel->find([$request->getPostGet('id')]);
   $users=array('users'=>$users);
   $estructura=view('estructura/header').view('estructura/formulario',$users); 
  }
  else{
   $users=$userModel->findAll();
   $users=array('users'=>$users);
   $estructura=view('estructura/header').view('estructura/body',$users);
  }
  return $estructura;

 }
 public function editar(){
  $userModel=new UserModel($db);
  $request= \Config\Services::request();
  if($request->getPostGet('id')){
   $id=$request->getPostGet('id');
  }else{
   $id=$request->uri->getSegment(3);
  }
  $users=$userModel->find([$id]);
  $users=array('users'=>$users);
  $estructura=view('estructura/header').view('estructura/formulario',$users);
  return $estructura;

 }
 public function borrar(){
  $userModel=new UserModel($db);
  $request= \Config\Services::request();
  if($request->getPostGet('id')){
   $id=$request->getPostGet('id');
  }else{
   $id=$request->uri->getSegment(3);
  }
  $userModel->delete($id);
  $users=$userModel->findAll();
  $users=array('users'=>$users);
  $estructura=view('estructura/header').view('estructura/body',$users);
  return $estructura;

 }

 public function formulario(){
  $estructura=view('estructura/header').view('estructura/formulario');
  return $estructura;
 }
 public function index()
 {
  $userModel=new UserModel($db);
  $datos=$userModel->paginate(10);
  $paginador=$userModel->pager;
  $paginador->setPath('ci4/');
  $datos=array('users'=>$datos,'paginador'=>$paginador);
  $estructura=view('estructura/header').view('estructura/body',$datos);
  return $estructura;
  
 }

 //--------------------------------------------------------------------

}







//app/Views/estructura/body.php
<body>
<div class="container">
    <div class="row">
        <a href="<?php echo base_url(); ?>nuevo" class="btn btn-info" role="button" >Nuevo</a>
    </div>
    <div class="row">

    
        <table  class="table">
        <tr>
        <th scope="col">id</th>
        <th scope="col">name</th>
        <th scope="col">email</th>
        <th scope="col">deleted</th>
        <th scope="col">acciones</th>
        </tr>
        <?php
        ?>
        <? if($users): ?>
            <?php foreach ($users as $user): ?>
            <?= "<tr  scope='row' >";?>
            <?= "<td>".$user['id']."</td>";?>
            <?= "<td>".$user['name']."</td>";?>
            <?= "<td>".$user['email']."</td>";?>
            <?= "<td>".$user['deleted']."</td>";?>
            <td>
            <a href="<?php echo base_url(); ?>micontrolador/editar/<?php echo $user['id']; ?>" class="btn btn-warning" role="button" ><i class="fa fa-pencil-square-o"></i></a>
            <a href="<?php echo base_url(); ?>micontrolador/borrar/<?php echo $user['id']; ?>" class="btn btn-danger" role="button" ><i class="fa fa-trash"></i></a>
            </td>
            <?php endforeach; ?>
        <? endif; ?>
        </table>
        <?php echo $paginador->links(); ?>
    </div>
</div>
</body>
</html>


Guia oficial codeigniter: https://codeigniter4.github.io/userguide/libraries/pagination.html

Codeigniter 4? [25.- paginador]

#Codeigniter4 #php7 #backend #Codeigniter #php .
? Esta lista de reproducci贸n: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTFN5TDeOP-wP_hU0_9VoWg
.
Codigos en gdrive: https://drive.google.com/file/d/1awbG6jI40IO0N68fgjLUwNFpsTC3wIHj/view?usp=sharing .
Gracias por apoyar este canal: https://www.patreon.com/programadornovato?fan_landing=true .
? Facebook: https://facebook.com/ProgramadorNovatoOficial
? Twitter: https://twitter.com/programadornova
? Linkedin: https://www.linkedin.com/in/programadornovato/
? Instagram: https://www.instagram.com/programadornovato/

Eugenio Chaparro

Entradas recientes

馃煝Editar c贸digo de un m贸dulo en Dolibarr [04]

馃煝Editar c贸digo de un m贸dulo en Dolibarr [04]

En este tutorial vamos editar el c贸digo de nuestro m贸dulo personas para poder personalizar algunas…

3 semanas hace
馃煝Crear un sub_m贸dulo en Dolibarr [03]

馃煝Crear un sub_m贸dulo en Dolibarr [03]

En este tutorial vamos a crear un sub m贸dulo llamado seguridad que ser谩 muy parecido…

3 semanas hace
馃煝Modificar un m贸dulo en Dolibarr [02]

馃煝Modificar un m贸dulo en Dolibarr [02]

En este tutorial aprenderemos a editar el objeto personas del modulo persona que creamos en…

3 semanas hace
馃煝Constructor de m贸dulos en Dolibarr

馃煝Constructor de m贸dulos en Dolibarr

Como mencionamos anteriormente Dolibarr es un proyecto realizado sobre la base de una pol铆tica clara:…

3 semanas hace
馃煝Tickets en Dolibarr [19]

馃煝Tickets en Dolibarr [19]

Los ticket en dolibarr nos ayudan a comunicar inconveniente en nuestros productos y servicios dentro…

3 semanas hace
馃煝Agenda en Dolibarr [18]

馃煝Agenda en Dolibarr [18]

Las agendas en dolibarr nos ayudan a ver las actividades realizadas en proceso y por…

3 semanas hace