Jump to content
EVDIAS

Abater dados de uma tabela em outra.

Recommended Posts

Olá Pessoal.

Sou novo e estou com uma dificuldade por não dominar plenamente o manuseio de um bd.

Gostaria de compartilhar minha necessidade, caso alguem puder me ajudar fico muito grato.

 

Tenho 3 tabelas.

    

      1 - Pratos; ( ID_PRATO, DESCRICAO )

      2 - Tabela de produtos; ( ID_PROD, DESCRICAO, UN_MED, QTDADE )

      3 - Tabela de composição; (ID_COMP, ID_PRATO, ID_PROD, QTD)

      4 - Tabela de Vendas; ( ID_VENDA, ID_PRATO, QTD ).

 

A ideia seria qdo vender 1 prato, localizar cada produto na tabela composição, e subtrair da tabela produtos; 

Eu consegui fazer o processo com uma trigger, porem para somente um item da composição... e normalmente

tenho um prato com 4 até 7 itens....

 

 

Grato.

 

 

Obrigado.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

Teria de montar um cursor para fazer isto.

 

Segue aqui um exemplo.

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By henrybrion
      Caros, estou criando um sistema de listagem de produtos em que os mesmos sejam apresentados de acordo com sua categoria.
      O sistema funciona da seguinte forma:
      Os dados são cadastrados no BD "mercado" na tabela produtos contendo 4 campos (id, produto, categoria e preço) e as categorias são cadastradas na tabela categoria contendo 2 campos (id e categoria).
      Na página produtos.php deve ser apresentado da seguinte forma:
      As categorias são relacionadas em TABs e os produtos em Tabela, de acordo com sua categoria, ou seja se tenho a categoria "Bebidas" deve ser apresentado todas as Bebidas desta categoria na TAB Bebidas e assim por diante.
      Porém não estou conseguindo fazer isso, só está sendo apresentado os produtos da primeira categoria e repetindo nas demais.
      Segue o código que estou usando para construção:
       
      Página Produtos.php
      <div class="container"> <h2>Lista de Produtos por Categoria</h2> <br><br> <?php include_once 'select_produtos.php'; ?> <ul class="nav nav-tabs nav-pills nav-justified"> <?php echo $categorias_menu; ?> </ul> <div class="tab-content"> <table class="table table-hover"> <thead class="thead-dark"> <tr> <th scope="col">Código</th> <th scope="col">Produto</th> <th class=" text-center" scope="col">Valor</th> </tr> </thead> <tbody> <?php echo $lista_produtos; //faz a chamada para a variável no arquivo "select_produtos.php" ?> </tr> </tbody> </table> </div> </div> Página Select_produtos.php
       
      <?php include_once 'conexao.php'; $categorias_sql = "SELECT * FROM categorias ORDER BY id ASC"; $categorias_result = mysqli_query( $connect, $categorias_sql ); $categorias_menu = ''; $produtos_query = "SELECT * FROM produtos ORDER BY produto ASC"; $produtos_result = mysqli_query( $connect, $produtos_query ) or die ("database error:". mysqli_error($connect)); $lista_produtos = ''; $i = 0; //EXIBIR O MENU - ABAS - DE CADA CATEGORIA while ( $categorias = mysqli_fetch_array( $categorias_result ) ) { if ( $i == 0 ) { $categorias_menu .= ' <li class="active"> <a href="#' . $categorias[ "id" ] . '" data-toggle="tab" role="tab">' . $categorias[ "categoria" ] . '</a> </li> '; $lista_produtos .= ' <div id="' . $categorias[ "id" ] . '" class="tab-pane fade in active"> '; } else { $categorias_menu .= ' <li> <a href="#' . $categorias[ "id" ] . '" data-toggle="tab" role="tab">' . $categorias[ "categoria" ] . '</a> </li> '; $lista_produtos .= ' <div id="' . $categorias[ "id" ] . '" class="tab-pane fade"> '; } $i++; //Verfica se existem produtos na tabela if(!mysqli_num_rows($produtos_result)) { $lista_produtos .= '<br>Produto não encontrado!'; }else{ //LISTANDO PRODUTOS NO FORMATO DE TABELA while ( $sub_row = mysqli_fetch_array( $produtos_result ) ) { if($sub_row['categoria_id'] == $categorias['id']){ $lista_produtos .= '<tr>'; $lista_produtos .= '<td class="text-uppercase">' . utf8_encode($sub_row[ "id" ]) . '</td>'; $lista_produtos .= '<td class="text-uppercase">' . utf8_encode($sub_row[ "produto" ]) . '</td>'; $lista_produtos .= '<td class="text-uppercase text-center">R$ ' . $sub_row[ "preco" ] . '</td>'; } } } } $lista_produtos .= '<div style="clear:both">'; ?> Onde está meu erro ou o que estou deixando de fazer aqui?
      Segue imagem da tela como quero que fique.
       
      Obrigado.

    • By Aureo Almeida
      Problema em definir largura e disposição horizontal de tabelas com resultado de while
      Como iniciante em programação estou tendo problemas para estilizar uma tabela dentro de um script PHP. Possuo o seguinte script:
      <?php $sql = 'SELECT * FROM psd_produtos'; $stmt = $conn->query($sql); echo '<table>'; while($row = $stmt->fetch(PDO::FETCH_OBJ)){ echo " <td> <tr><h1>$row->prd_nome <br /></h1></tr> <tr><p>$row->prd_detalhe <br /></p></tr> <tr>$row->prd_valor <br /></tr> </td> "; } echo '</table>'; ?> Ele funciona perfeitamente, buscando e produzindo um loop das informações que preciso, porém, gostaria que o resultado me retornasse em tabelas que ficasse dispostas horizontalmente lado a lado, e imaginei colocar uma classe CSS que estabelecesse a largura da tabela em 400px com um float que me permitiria alinhar o resultado em “4 colunas”. Porém, essa classe não funciona dentro do script.
      Tentei echo '<table class="tabela-produto">'; e não funciona.
      A mesma classe, que estabelece uma largura para a tabela, aplicada a uma tabela fora do script funciona e isso tirou minha dúvida se este tópico seria sobre CSS/HTML ou PHP.
      Como posso fazer para obter meu objetivo com este script, alinhando horizontalmente o resultado do while em tabelas dispostas horizontalmente em 4 colunas?
    • By Dani_Ambrosio
      Preciso criar uma coluna em uma tabela já existente, porém os dados dessa nova coluna vão depender de outra tabela
      Ex:
      tenho a tabela faturamento e nela eu preciso criar uma nova coluna que vai chamar fat_removido e os dados dessa coluna vão depender de uma outra tabela que se chama Faturamento removido.
      tanto as tabelas faturamento e a faturamento removido tem o ID_faturamento, quando o mesmo constar nas duas tabelas a nova coluna deverá ser preenchida com Sim e quando não constar deve ser preenchida com Não 
      Como faço isso?
    • By romanoo1
      Boa Noite!

      Estou fazendo um programa para recepção de Hotel. Pois bem...
      Tenho a tabela (apto1), onde cadastro o cliente e o valor da diária x dias de acomodação, que por sua vez me gera o Total deste cliente.
      Tenho a tabela (pago), onde guardo as informações de pagamentos feitos.
      Estou inserindo o ID, NOME, APTO, DATA da tabela (apto1) para a tabela (pago) em IDPAGO, NOMEPAGO, APTOPAGO, DATAPAGO e TOTALPAGO envio via input.
      Então é simples o calculo, eu pego o TOTAL da tabela (apto1) e quero descontar com o TOTALPAGO da tabela (pago), mas não consigo retornar o mesmo id.
      (lembrando que é o mesmo ID da tabela (apto1) é o mesmo iD da tabela (pago).
       
      $sql = mysqli_query($conn, "SELECT apto1.*, pago.* FROM apto1, pago where apto BETWEEN '$busca' AND '$busca' ORDER BY apto Asc");
       
      e fazendo a seguinte busca nas tabelas...
       
      while($aux = mysqli_fetch_assoc($sql)){

              //Busca tabela apto1

              $id = $aux['id'];
              $nome = $aux['nome'];
              $apto = $aux['apto'];
              $entrada = $aux['entrada'];
              $total = $aux['total'];

              //busca Tabela pago

              $idpago = $aux['idpago'];
              $nomepago = $aux['nomepago'];
              $aptopago = $aux['aptopago'];
              $datapago = $aux['datapago'];
              $totalpago = $aux['totalpago'];
          }

      Agradeço a ajuda e me desculpe se errei algum termo.

    • By romanoo1
      Boa Noite!

      Estou fazendo um programa para recepção de Hotel. Pois bem...
      Tenho a tabela (apto1), onde cadastro o cliente e o valor da diária x dias de acomodação, que por sua vez me gera o Total deste cliente.
      Tenho a tabela (pago), onde guardo as informações de pagamentos feitos.
      Estou inserindo o ID, NOME, APTO, DATA da tabela (apto1) para a tabela (pago) em IDPAGO, NOMEPAGO, APTOPAGO, DATAPAGO e TOTALPAGO envio via input.
      Então é simples o calculo, eu pego o TOTAL da tabela (apto1) e quero descontar com o TOTALPAGO da tabela (pago), mas não consigo retornar o mesmo id.
      (lembrando que é o mesmo ID da tabela (apto1) é o mesmo iD da tabela (pago).
       
      $sql = mysqli_query($conn, "SELECT apto1.*, pago.* FROM apto1, pago where apto BETWEEN '$busca' AND '$busca' ORDER BY apto Asc");
       
      e fazendo a seguinte busca nas tabelas...
       
      while($aux = mysqli_fetch_assoc($sql)){

              //Busca tabela apto1

              $id = $aux['id'];
              $nome = $aux['nome'];
              $apto = $aux['apto'];
              $entrada = $aux['entrada'];
              $total = $aux['total'];

              //busca Tabela pago

              $idpago = $aux['idpago'];
              $nomepago = $aux['nomepago'];
              $aptopago = $aux['aptopago'];
              $datapago = $aux['datapago'];
              $totalpago = $aux['totalpago'];
          }

      Agradeço a ajuda e me desculpe se errei algum termo.

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.