Advertisement
MizunoBrasil

Listagem de Produtos com Paginação

Dec 26th, 2023
989
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.26 KB | None | 0 0
  1. Listagem de Produtos com Paginação (php)
  2.  
  3.  
  4. <!DOCTYPE html>
  5. <html lang="en">
  6. <head>
  7.     <meta charset="UTF-8">
  8.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  9.     <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap" rel="stylesheet">
  10.     <style>
  11.         body {
  12.             font-family: 'Poppins', sans-serif;
  13.             background-color: #f4f4f4;
  14.             padding: 20px;
  15.         }
  16.  
  17.         .container {
  18.             max-width: 800px;
  19.             margin: 0 auto;
  20.         }
  21.  
  22.         .produto {
  23.             background-color: #fff;
  24.             padding: 20px;
  25.             border-radius: 8px;
  26.             box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  27.             margin-bottom: 20px;
  28.         }
  29.  
  30.         .imagem-produto {
  31.             max-width: 100%;
  32.             overflow: hidden;
  33.             margin-bottom: 10px;
  34.         }
  35.  
  36.         .imagem-produto img {
  37.             width: 100%;
  38.             height: auto;
  39.             border-radius: 4px;
  40.         }
  41.  
  42.         .botoes {
  43.             display: flex;
  44.             justify-content: space-between;
  45.             margin-top: 10px;
  46.         }
  47.  
  48.         .botoes button {
  49.             background-color: #4CAF50;
  50.             color: white;
  51.             cursor: pointer;
  52.             border: none;
  53.             padding: 8px;
  54.             border-radius: 4px;
  55.             width: 48%; /* Ajuste a largura dos botões conforme necessário */
  56.         }
  57.  
  58.         .pagination {
  59.             display: flex;
  60.             margin-top: 20px;
  61.         }
  62.  
  63.         .pagination a {
  64.             padding: 10px;
  65.             margin: 0 5px;
  66.             border: 1px solid #ddd;
  67.             text-decoration: none;
  68.             color: #4CAF50;
  69.             border-radius: 4px;
  70.         }
  71.     </style>
  72.     <title>Listagem de Produtos</title>
  73. </head>
  74. <body>
  75.     <div class="container">
  76.         <h2>Listagem de Produtos</h2>
  77.  
  78.         <?php
  79.         $servername = "seu server";
  80.         $username = "seu username";
  81.         $password = "sua senha";
  82.         $dbname = "nome da tabela";
  83.  
  84.         $conn = new mysqli($servername, $username, $password, $dbname);
  85.  
  86.         if ($conn->connect_error) {
  87.             die("Connection failed: " . $conn->connect_error);
  88.         }
  89.  
  90.         // Defina o número de registros por página
  91.         $registros_por_pagina = 6;
  92.  
  93.         $pagina_atual = isset($_GET['pagina']) ? $_GET['pagina'] : 1;
  94.         $offset = ($pagina_atual - 1) * $registros_por_pagina;
  95.  
  96.         $sql = "SELECT * FROM produtos ORDER BY ID DESC LIMIT $offset, $registros_por_pagina";
  97.         $result = $conn->query($sql);
  98.  
  99.         if ($result->num_rows > 0) {
  100.             while ($row = $result->fetch_assoc()) {
  101.                 echo "<div class='produto'>";
  102.                 echo "<h3>" . $row['nome_do_produto'] . "</h3>";
  103.                
  104.                 echo "<div class='imagem-produto'>";
  105.                 echo "<img src='" . $row['foto'] . "' alt='Imagem do Produto'>";
  106.                 echo "</div>";
  107.  
  108.                 echo "<p>" . $row['descricao'] . "</p>";
  109.                 echo "<p>Preço: " . $row['preco'] . "</p>";
  110.                 echo "<p>Loja: " . $row['nome_loja'] . "</p>";
  111.                 echo "<p>URL: <a href='" . $row['url'] . "' target='_blank'>" . $row['url'] . "</a></p>";
  112.  
  113.                 echo "<div class='botoes'>";
  114.                 echo "<button onclick='location.href=\"editar.php?id=" . $row['id'] . "\"'>Editar</button>";
  115.                 echo "<button onclick='location.href=\"apagar.php?id=" . $row['id'] . "\"'>Apagar</button>";
  116.                 echo "</div>";
  117.  
  118.                 echo "</div>";
  119.             }
  120.  
  121.             // Adicione a seção de paginação
  122.             $sql_total = "SELECT COUNT(*) AS total FROM produtos";
  123.             $result_total = $conn->query($sql_total);
  124.             $total_registros = $result_total->fetch_assoc()['total'];
  125.             $total_paginas = ceil($total_registros / $registros_por_pagina);
  126.  
  127.             echo "<div class='pagination'>";
  128.             for ($i = 1; $i <= $total_paginas; $i++) {
  129.                 echo "<a href='?pagina=$i'>$i</a>";
  130.             }
  131.             echo "</div>";
  132.         } else {
  133.             echo "Nenhum produto encontrado.";
  134.         }
  135.  
  136.         $conn->close();
  137.         ?>
  138.     </div>
  139. </body>
  140. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement