Ir ao conteúdo
  • Cadastre-se

PHP Criar botão de imprimir pdf


Posts recomendados

Boa tarde, eu estou fazendo um site de cadastro e visualização de pedidos, e eu quero colocar um botão que irá fazer o download de um arquivo pdf com todos os registros de pedidos, e eu não sei como fazer ele, vi alguns videos, mas quando direciona para a pagina de relatorio onde estão os pedidos, a pagina fica em branco e faz o download de um arquivo pdf, mas sem os registros, o que eu quero é que abra essa pagina, e o botão de download fica dentro dessa pagina, vou deixar o codigo do relatorio logo abaixo:

<?php
    include_once('config.php');

    // chama sessão para o usuario que fez login
  session_start();
//   print_r($_SESSION);
// caso user e login forem vazios, ele volta para login2 e encerra a sessão
  if((!isset($_SESSION['User']) == true) and (!isset($_SESSION['Pass']) == true))
  {
    unset($_SESSION['User']);
    unset($_SESSION['Pass']);
    header('location:login2.php');
  }
  // cria variavel logado, para informa o nome do usuario
  $logado = $_SESSION['User'];

  $sql = "SELECT * FROM pedidos";

  $result = $conexao -> query($sql);
  

?>
<!DOCTYPE html>
    <html lang ="en">
        <head>
            <meta charset="UTF-8">
            <meta http-equiv="X-UA-Compatible" content="IE-edge">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <title> REGISTRO DE PEDIDOS</title>
            <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
            <style>
                body{
                    background-color: rgba(33,37,41,255);
                }
                h1{
                    color: white;
                    text-align: center;
                }
                #trash:hover{
                    background-image: linear-gradient(to right, RGB(256, 0, 0), RGB(256, 0, 0)); 
                }
                .bo{
                    position: relative;
                    margin-bottom: 25px;
                    text-align: left;
                }
 

            </style>    
        </head>
        <body>
        <?php
        //cria legenda dizendo bem vindo ao usuario logado
               echo "<h1>Bem vindo, $logado!</h1>"
        ?>
        <!-- tabela com os pedidos  -->
            <h1 ><b>Registro de Pedidos</b></h1>
             <!-- botões para voltar  -->
            <a class="bo"href="sair.php">Sair</a>
            <br>
            <a class="bo"href="painel.php">Voltar</a>
            <div> 
                <table class="table table-dark table-striped table-widht">
                    <thead>
                        <tr>
                            <th scope="col">#</th>
                            <th scope="col">Cliente</th>
                            <th scope="col">Telefone</th>
                            <th scope="col">Tecido</th>
                            <th scope="col">Gola</th>
                            <th scope="col">Quantidade</th>
                            <th scope="col">Tamanho</th>
                            <th scope="col">Previsão de entrega</th>
                            <th scope="col">Observação</th>
                            <th scope="col">Preço</th>
                            <th scope="col">Progresso</th>
                            <th scope="col">...</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php
                            while($user_data = mysqli_fetch_assoc($result))
                                {
                                    echo "<tr>";
                                    echo "<td>".$user_data['ID']."</td>";
                                    echo "<td>".$user_data['Cliente']."</td>";
                                    echo "<td>".$user_data['Telefone']."</td>";
                                    echo "<td>".$user_data['Tecido']."</td>";
                                    echo "<td>".$user_data['Gola']."</td>";
                                    echo "<td>".$user_data['Quantidade']."</td>";
                                    echo "<td>".$user_data['Tamanho']."</td>";
                                    echo "<td>".$user_data['Previsao']."</td>";
                                    echo "<td>".$user_data['Obs']."</td>";
                                    echo "<td>".$user_data['Preco']."</td>";
                                    echo "<td>".$user_data['Progresso']."</td>";
                                    // botões de ações da tabela
                                    echo "<td>
                                        <a class=' btn btn-sm btn-primary' href='editar.php?id=$user_data[ID]' title='Editar'>
                                        <svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-pencil-square' viewBox='0 0 16 16'>
                                            <path d='M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z'/>
                                            <path fill-rule='evenodd' d='M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z'/>
                                        </svg>
                                        </a>
                                    </td>";
                                    echo "<td>
                                        <a class=' btn btn-sm btn-primary' href='#?id=$user_data[ID]' title='ver modelo'>
                                            <svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-image-fill' viewBox='0 0 16 16'>
                                                <path d='M.002 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-12a2 2 0 0 1-2-2V3zm1 9v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9.5l-3.777-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12zm5-6.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0'/>
                                            </svg>
                                        </a>
                                    </td>";
                                    echo "<td>
                                        <a id='trash' class=' btn btn-sm btn-primary' href='#?id=$user_data[ID]' title='E'>
                                            <svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-trash' viewBox='0 0 16 16'>
                                                <path d='M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5m2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5m3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0z'/>
                                                <path d='M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1zM4.118 4 4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4zM2.5 3h11V2h-11z'/>
                                            </svg>  
                                        </a>
                                    </td>";
                                }
                        ?>
                    </tbody>
                </table>
            </div>
            <script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script>
            <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-BBtl+eGJRgqQAUMxJ7pMwbEyER4l1g+O15P+16Ep7Q9Q+zqX6gSbd85u4mG4QzX+" crossorigin="anonymous"></script>
            <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
        </body>
    </html>

 

Link para o comentário
Compartilhar em outros sites

Olá! Boa tarde!
Além do botão, que é semelhante a esses que foram criados com svg(o de editar, ver modelo e apagar), vais precisar escrever a lógica que vai gerar a sua tabela em pdf.
Em php, use a lib https://mpdf.github.io, q ajuda bastante.
Em js use http://pdfmake.org/playground.html, que é sensacional.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

1 hora atrás, MailingTester disse:

Olá! Boa tarde!
Além do botão, que é semelhante a esses que foram criados com svg(o de editar, ver modelo e apagar), vais precisar escrever a lógica que vai gerar a sua tabela em pdf.
Em php, use a lib https://mpdf.github.io, q ajuda bastante.
Em js use http://pdfmake.org/playground.html, que é sensacional.

Boa tarde, poderia demonstrar um exemplo utilizando a biblioteca mpdf, no codigo que eu mostro?

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!