Ir para conteúdo
Fórum Script Brasil
  • 0

Imprimindo etiquetas com o HTML


Frank K Hosaka

Pergunta

Há cerca de 20 anos, eu usei o PowerPoint em conjunto com o Access para imprimir etiquetas.

Comecei a estudar o PHP em 2020, mas só hoje consegui montar um programa para imprimir etiqueta:

aruivo etiqueta.php
<?php 
include('menu.php');
$_SESSION['etiqueta']=(isset($_SESSION['etiqueta'])) ? $_SESSION['etiqueta'] : [];
$produto="";
$venda="";
if(isset($_GET['apagar']))
{
    unset($_SESSION['etiqueta']);
    header("location:etiqueta.php");
}
if(isset($_GET['titulo']))
{
    $titulo=$_GET['titulo'];
    $venda=$_GET['venda'];
    $_SESSION['etiqueta'][]=(object)['titulo'=>$titulo,'venda'=>$venda];
    unset($_SESSION['codprod']);
    header('location:etiqueta.php');
}
$_SESSION['end']="etiqueta.php";
if(isset($_SESSION['codprod']))
{
    $codprod=$_SESSION['codprod'];
    $prod=$mysqli->query("select * from tbprod where codprod=$codprod")
        ->fetch_assoc();
    $produto=$prod['prod'];
    $venda=$prod['venda'];
}
?>
<script>
    btmenu.innerHTML="Etiquetas"
    document.title="Etiquetas"
    function imprimir()
    {
        cabecalho.style='display:none'
        esconder.style='display:none'
        window.print();
    }
</script>
<div id=esconder>
<table><tr><td>
<form action=produto.php>
    Pesquisar <input placeholder=produto name=procurar onchange=submit()>
</form>
<td><a href=etiqueta.php?apagar>Apagar</a>
<td><a href=etiqueta.php?imprimir onclick=imprimir()>Imprimir</a>
</table>
<p>
<form>
    <input name=titulo value='<?=$produto?>' size=40><br>
    <input name=venda value='R$ <?=dec($venda)?>'><br>
    <input type=submit value='Incluir na lista de Etiquetas'>
</form>
</p>
</div>
<table class=table-bordered>
<?php
$etiquetas=$_SESSION['etiqueta'];
foreach($etiquetas as $key=>$etiqueta): 
    if(($key) % 5==0):?>
    <tr class=fw-bold>
    <?php endif; ?>
    <td style="padding: 1rem">
    <div>
    <?=$etiqueta->titulo?>
    </div>
    <div>
    <?=$etiqueta->venda?>
    </div>
<?php endforeach; ?>
</table>

 

Captura de tela 2024-08-16 122502.png

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Ontem, eu criei um programa num ambiente que não tem classe, autoload e roteador. Fiquei imaginando como colocar o programa etiqueta.php num ambiente de classe.

Para acessar o programa, acrescentei uma linha no programa menuView.php:

<li><a class=dropdown-item href=etiqueta.php>Etiquetas</a></li>

Para garantir o acesso ao banco de dados e várias funções personalizadas, usei:

include('config.php');

Finalmente, para acessar o roteador e usar uma função particular da classe Produto, usei:

if(isset($_GET['procurar']))
{
    $procurar=str_replace(" ","%",$_GET['procurar']);
    $_SESSION['end']="etiqueta.php";
    $_SESSION['criterio']="where prod like '%$procurar%'";
    header("location:./?Produto.produto");
}

A variável $_SESSION['end'] vai garantir que o comando voltará para a etiqueta.php assim que o objeto Produto terminar o serviço.

O código final ficou quase a mesma coisa, esse é um típico programa hibrido, onde o PHP e o HTML compartilham o mesmo arquivo ao mesmo tempo. O certo é transformar a etiqueta num objeto, mas no momento eu não tenho a menor ideia de como fazer isso.

<?php 
include('config.php');
include('menuView.php');
$_SESSION['etiqueta']=(isset($_SESSION['etiqueta'])) ? $_SESSION['etiqueta'] : [];
$produto="";
$venda="";
if(isset($_GET['procurar']))
{
    $procurar=str_replace(" ","%",$_GET['procurar']);
    $_SESSION['end']="etiqueta.php";
    $_SESSION['criterio']="where prod like '%$procurar%'";
    header("location:./?Produto.produto");
}
if(isset($_GET['apagar']))
{
    unset($_SESSION['etiqueta']);
    unset($_SESSION['codprod']);
    header("location:etiqueta.php");
}
if(isset($_GET['titulo']))
{
    $titulo=$_GET['titulo'];
    $venda=$_GET['venda'];
    $_SESSION['etiqueta'][]=(object)['titulo'=>$titulo,'venda'=>$venda];
    unset($_SESSION['codprod']);
    header('location:etiqueta.php');
}
if(isset($_SESSION['codprod']))
{
    $codprod=$_SESSION['codprod'];
    $prod=(new Conn)->select("* from tbprod where codprod=$codprod")[0];
    $produto=$prod->prod;
    $venda=$prod->venda;
}
?>
<script>
    btmenu.innerHTML="Etiquetas"
    document.title="Etiquetas"
    function imprimir()
    {
        cabecalho.style='display:none'
        esconder.style='display:none'
        window.print();
    }
</script>
<div id=esconder>
<table><tr><td>
<form>
    Pesquisar <input placeholder=produto name=procurar onchange=submit()>
</form>
<td><a href=etiqueta.php?apagar>Apagar</a>
<td><a href=etiqueta.php?imprimir onclick=imprimir()>Imprimir</a>
</table>
<p>
<form>
    <input name=titulo value='<?=$produto?>' size=40><br>
    <input name=venda value='R$ <?=dec($venda)?>'><br>
    <input type=submit value='Incluir na lista de Etiquetas'>
</form>
</p>
</div>
<table class=table-bordered>
<?php
$etiquetas=$_SESSION['etiqueta'];
foreach($etiquetas as $key=>$etiqueta): 
    if(($key) % 5==0):?>
    <tr class=fw-bold>
    <?php endif; ?>
    <td style="padding: 1rem">
    <div>
    <?=$etiqueta->titulo?>
    </div>
    <div>
    <?=$etiqueta->venda?>
    </div>
<?php endforeach; ?>
</table>

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...