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

Classe: a minha consulta de produto e a função atualiza( )


Frank K Hosaka

Pergunta

Eu coloquei um campo da tabela produto em cada linha, e isso acabou ocupando toda a tela do notebook.

Decidi colocar três campos em cada linha, e ele ficou assim:

arquivo produtoConsulta.php
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" 
  rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js">
</script>
<style>
  @media (min-width: 768px) { body {width: 40%; margin: auto} }
  @media (max-width: 767px) { body {width: 75%; margin: auto} }
  a {color:blue;text-decoration:none}
  a:hover {color:black;}
  form {margin:0}
  .inv {border:none;background:transparent;font-weight:600}
  .linha {line-height:0px}
  summary{list-style:none}
  td {white-space: nowrap}
</style>
<form action=?Produto.atualiza method=post>
<table class='table table-striped table-sm '>
<tr><td>Codigo<td class=fw-semibold><?=$prod->codprod?>
    <td>Venda<td class=fw-semibold><?=dec(pvenda($prod->custo,$prod->marg))?>
    <td>Unidade<td><input value='<?=$prod->un?>' size=1 class=inv name=un onchange=submit()>
<tr><td>Produto<td colspan=5><input value='<?=$prod->prod?>' size=70 class=inv name=prod onchange=submit()>
<tr><td>Custo<td><input value=<?=dec($prod->custo)?> size=4 class=inv name=custo onchange=submit()>
    <td>Margem<td><input value=<?=virgula($prod->marg)?> size=1 class=inv name=marg onchange=submit()>
    <td>Cod Barra<td><input value='<?=$prod->codbar?>' size=11 class=inv name=codbar onchange=submit()>
<tr><td>NCM<td><input value='<?=$prod->cf?>' size=6 class=inv name=cf onchange=submit()>
    <td>Cod Fornec<td><input value='<?=$prod->codforn?>' size=10 class=inv name=codforn onchange=submit()>
    <td>Local<td><input value='<?=$prod->loc?>' size=1 class=inv name=loc onchange=submit()>
</table>
  </form>

arquivo produto.php
<?php

class Produto
{
    public function atualiza()
    {
        $codprod=$_SESSION['codprod'];
        $post=$_POST;
        foreach($post as $campo => $valor)
        {
            if($campo=='custo')
            {
                $custo=deca($valor);
                (new Conn)->update("tbprod set custo=$custo where codprod=$codprod");
            }
            if($campo=='marg')
            {
                $marg=ponto($valor);
                (new Conn)->update("tbprod set marg=$marg where codprod=$codprod");
            }
            if($campo!=='custo' && $campo!=='marg')
            {
                (new Conn)->update("tbprod set $campo = '$valor' where codprod=$codprod");
            }
        }
        return $this->consulta($codprod);
    }

    public function consulta($codprod) 
    {
        $prod=(new Conn)->select("* from tbprod where codprod=$codprod")[0];
        $_SESSION['codprod']=$codprod
        return view('produtoConsulta',['prod'=>$prod]);
    }
}

 

Captura de tela 2024-08-04 045641.png

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

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,4k
×
×
  • Criar Novo...