Ticker

6/recent/ticker-posts

PHP y MySQL - Paginación

Tutorial en Edición
Hola en este tutorial desarrollare de manera muy simple y sencilla cómo hacer una paginación de datos de MySQL usando PHP, es decir los datos de la base de datos se mostrarán por página.

Requisitos:

  • XAMPP Control Panel.
  • MySQL Workbench o phpMyAdmin.
  • Visual Studio Code
  • PHP y MySQL (Relational Database)
  • Bootstrap 5

Lo que veremos en este tutorial:

  • Conexión a la base de datos
  • Preparar Script SQL
  • Referenciar Bootstrap 5
  • Maquetación HTML y CSS
  • Implementar funcionalidad con PHP
  • Código completo
  • Conclusiones

Código completo:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php

	$page = false;
	$NUM_ITEMS_BY_PAGE = 6;	

	$query = 'SELECT p.id, p.name, p.imges, i.price, i.quantity 
            FROM  products p, categories c, inventory i 
            WHERE p.category_id = c.id and p.id=i.product_id and 
                  p.status = 1 and i.quantity > 0';  
								                
  $mydb->setQuery($query);
  $res = $mydb->executeQuery();
  $total_rows = $mydb->num_rows($res);
?>

<!--features_items-->
<div class="features_items">
  <h2 class="title text-center">Productos</h2>    
  <?php    
    if($total_rows>0){

      if (isset($_GET["page"])) {
          $page = $_GET["page"];
      }

      if (!$page) {
          $start = 0;
          $page = 1;
      } else {
        $start = ($page - 1) * $NUM_ITEMS_BY_PAGE;
      }

      //calculo el total de paginas
      $total_pages = ceil($total_rows / $NUM_ITEMS_BY_PAGE);
    }else{ 
      echo '<div class="text-center">
            <h1>No hay productos disponibles</h1>
            </div>';
    }
  ?>
  
</div>
<!--features_items-->        

<?php
  if($total_rows != 0)
  {
  	echo '<ul class="pagination">';
      if ($total_pages > 1) {
          if ($page != 1) {
              echo '<li class="page-item"><a class="page-link" href="index.php?q=product&page='.($page-1).'">&laquo;</a></li>';
          }
          for ($i=1;$i<=$total_pages;$i++) {
              if ($page == $i) {
                  echo '<li class="page-item active"><a class="page-link" href="#">'.$page.'</a></li>';
              } else {
                  echo '<li class="page-item"><a class="page-link" href="index.php?q=product&page='.$i.'">'.$i.'</a></li>';
              }
          }
          if ($page != $total_pages) {
              echo '<li class="page-item"><a class="page-link" href="index.php?q=product&page='.($page+1).'">&raquo;</a></li>';
          }
      }
      echo '</ul>';
  }
?>

Conclusiones:

Publicar un comentario

0 Comentarios