Advertisement
MizunoBrasil

Listagem 15 registros por pagina html + bootstrap + PHP

Mar 14th, 2023
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.22 KB | None | 0 0
  1. Listagem 15 registros por pagina html + bootstrap + PHP
  2.  
  3.  
  4.  
  5. <!DOCTYPE html>
  6. <html>
  7. <head>
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  9.     <title>Lista de Capítulos</title>
  10.     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
  11. </head>
  12. <body>
  13.     <div class="container">
  14.     <br><br>
  15.         <div style="display: flex; align-items: center;">
  16.   <img src="https://images4.imagebam.com/f5/54/6f/MEJG5AJ_o.jpg" alt="Descrição da imagem" style="float: left; margin-right: 10px;">
  17.   <h1 class="text-center" style="margin: 0 auto;">Uga Uga: Lista de Capítulos</h1>
  18. </div>
  19. <br><br>
  20.  
  21.  
  22.         <table class="table table-hover">
  23.             <thead>
  24.                 <tr>
  25.                     <th>Capítulo</th>
  26.                     <th>URL</th>
  27.                 </tr>
  28.             </thead>
  29.             <tbody>
  30.                 <?php
  31.                 // Dados de conexão com o banco de dados
  32.                 $hostname = 'host';
  33.                 $database = 'banco';
  34.                 $username = 'usuario';
  35.                 $password = 'senha';
  36.  
  37.                 // Cria a conexão PDO
  38.                 try {
  39.                     $pdo = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
  40.                     $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  41.                 } catch(PDOException $e) {
  42.                     echo "Erro ao conectar com o banco de dados: " . $e->getMessage();
  43.                 }
  44.  
  45.                 // Define a quantidade de registros por página
  46.                 $registrosPorPagina = 15;
  47.  
  48.                 // Define o número da página atual
  49.                 $paginaAtual = isset($_GET['pagina']) ? (int)$_GET['pagina'] : 1;
  50.  
  51.                 // Calcula o registro inicial da página
  52.                 $registroInicial = ($paginaAtual - 1) * $registrosPorPagina;
  53.  
  54.                 // Prepara a consulta SQL
  55.                 //$sql = "SELECT * FROM ugauga LIMIT $registroInicial, $registrosPorPagina";
  56.  
  57.                 // Prepara a consulta SQL
  58.                     $sql = "SELECT * FROM ugauga ORDER BY id LIMIT $registroInicial, $registrosPorPagina";
  59.  
  60.  
  61.                 // Executa a consulta SQL
  62.                 $stmt = $pdo->query($sql);
  63.  
  64.                 // Loop pelos registros da consulta
  65.                 while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
  66.                     echo "<tr>";
  67.                     echo "<td>" . $row['id'] . "</td>";
  68.                     echo "<td><a href='" . $row['url'] . "' target='_blank'>" . $row['url'] . "</a></td>";
  69.                     echo "</tr>";
  70.                 }
  71.                 ?>
  72.             </tbody>
  73.         </table>
  74.  
  75.         <?php
  76.         // Prepara a consulta SQL para contar o número de registros
  77.         $sql = "SELECT COUNT(*) AS total FROM ugauga";
  78.  
  79.         // Executa a consulta SQL
  80.         $stmt = $pdo->query($sql);
  81.  
  82.         // Obtém o número total de registros
  83.         $totalRegistros = $stmt->fetch(PDO::FETCH_ASSOC)['total'];
  84.  
  85.         // Calcula o número de páginas
  86.         $numeroDePaginas = ceil($totalRegistros / $registrosPorPagina);
  87.         ?>
  88.  
  89.         <nav>
  90.             <ul class="pagination">
  91.                 <?php
  92.                 // Verifica se é necessário exibir o link "Anterior"
  93.                 if ($paginaAtual > 1) {
  94.                     echo "<li class='page-item'><a class='page-link' href='?pagina=" . ($paginaAtual - 1) . "'>Anterior</a></li>";
  95.                 }
  96.  
  97.                 // Loop pelos links de página
  98.                 for ($pagina = 1; $pagina <= $numeroDePaginas; $pagina++) {
  99.                     echo "<li class='page-item";
  100.                     if ($pagina == $paginaAtual) {
  101.                         echo " active";
  102.                     }
  103.                     echo "'><a class='page-link' href='?pagina=$pagina'>$pagina</a></li>";
  104.                 }
  105.  
  106.                 // Verifica se é necessário exibir o link "Próximo"
  107.                 if ($paginaAtual < $numeroDePaginas) {
  108.                     echo "<li class='page-item'><a class='page-link' href='?pagina=" . ($paginaAtual + 1) . "'>Próximo</a></li>";
  109.                 }
  110.                 ?>
  111.             </ul>
  112.         </nav>
  113.     </div>
  114. </body>
  115. </html>
  116.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement