query database by clicking on checkbox

query database by clicking on checkbox

hello.
I'm working on a code where clicking on a checkbox the value of a product and added to the value of the item marked checkbox.
and consequently to be cleared the value of the item must be decremented value of the product.

file main.php
  1. <?php
    session_start();
    require_once 'php/funcoes.php';
    require_once 'admin/funcoes.php';
    require_once 'admin/config.php';
    require_once 'admin/classes/bd.class.php';
    BD::conn();
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.css" />
    <link rel="stylesheet" type="text/css" href="css/estilo.css" />
    <script src="js/jquery.js"></script>
    <script src="bootstrap/js/bootstrap.js"></script>
                    <script src="js/funcoes.js"></script>
    </head>
            <body>
                <div >
                    <div >
    <form name="teste" action="" method="post" >
                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                            <h3 id="myModalLabel">
                            <div id="id"></div>
                            </h3>
                    </div>
                    <div class="modal-body1 itens_padrao">
                            <h4>Ingredientes</h4>
                            <?php
                            $prod_id = 10;
                            echo '<input class="id" type="hidden" value="'.$prod_id.'" name="id_produto"/>';
                            //echo $prod_id;
                            $add_produto_carrinho = BD::conn()->prepare("SELECT * FROM `produto` WHERE id_prod = ?");
                            $add_produto_carrinho->execute(array($prod_id));
                            if($add_produto_carrinho->rowCount() != 0){
                                while($produto = $add_produto_carrinho->fetchObject()){
                                   $ingr = $produto->desc_prod;
                                    $ingr_exp = explode(', ', $ingr);
                                    $ult_ingr = array_pop($ingr_exp);
                                    $ult_exp = explode(' e ', $ult_ingr, 2);
                                    $ingredientes = array_merge($ingr_exp, $ult_exp);
                                    for($i = 0; $i < count($ingredientes); $i++){
    echo '<span id="item"><input type="checkbox" name="ingrediente" checked="checked" value="'.$ingredientes[$i].'">'.$ingredientes[$i].'</span>';    
                                    } 
                                }
                            }
                            ?>
                    </div>
                    
    <div class="modal-body2 complementos">
                            <h4>Complementos</h4>
    <div class="modal-header linha"></div>
                            <?php
                            $seleciona_complemento = BD::conn()->prepare("SELECT * FROM `complemento`");
                            $seleciona_complemento->execute();
                            if($seleciona_complemento->rowCount() == 0){
                                    echo '<p>Não existem complementos para o lanche</p>';
                            }else{
                                    while($complemento = $seleciona_complemento->fetchObject()){
                                            echo '<span id="item"><input class="add-complemento" type="checkbox" name="complemento" data-id="'.$complemento->id_compl.'" value="'.$complemento->id_compl.'">'.$complemento->nome_compl.' R$<span id="preco_produto">'.$complemento->preco.'</span></span>';
                                    }
    ?>
                                                    
                                                                    <?php
    $preco_carrinho = BD::conn()->prepare("SELECT preco_prod FROM `produto` WHERE id_prod = ?");
    $preco_carrinho->execute(array($prod_id));
    if($preco_carrinho->rowCount() != 0){
    while($preco_produto = $preco_carrinho->fetchObject()){
    $preco = $preco_produto->preco_prod;
    $preco = str_replace('.', ',', $preco);
                                                                                    echo 'R$<input type="text" id="preco" value="'.$preco.'" />';
    }
    }
    ?>
                                                                    
    <span id="qtd"><input type="number" min="1" name="qtd" value="1" /></span>
    <?php
                            }
                            ?>
    </div>
                    <div class="modal-footer rodape-modal">
                            <button class="btn" data-dismiss="modal" aria-hidden="true">Fechar</button>
                            <button class="btn btn-primary">Salvar mudanças</button>
                    </div>
    </form>
            </div>
            </body>
    </html>
file functions.js  
  1. $(function($){
  2.         $('.add-complemento').on('change', function(){
  3.             var state = $(this).is(':checked');
  4.             if(state === true){
  5.                 console.log(state);
  6.                 var id_compl = $(this).val();
  7.                 var id_prod = $('.id').val();
  8.                 var acao = 'add';
  9.                 $.ajax({
  10. url: 'teste2.php',
  11. type: 'POST',
  12. data: 'id_complemento='+ id_compl + '&id_produto='+id_prod+'&acao='+acao,
  13. success: function(data){
  14. $('#preco').val(data);
  15.                                 console.log(data);
  16. }
  17. });
  18.             }else{
  19.                 console.log(state);
  20.                 var id_compl = $(this).val();
  21.                 var id_prod = $('.id').val();
  22.                 var acao = 'sub';
  23.                 $.ajax({
  24. url: 'teste2.php',
  25. type: 'POST',
  26. data: 'id_complemento='+ id_compl + '&id_produto='+id_prod+'&acao='+acao,
  27. success: function(data){
  28. $('#preco').val(data);
  29.                                 console.log(data);
  30. }
  31. });
  32.             }
  33.             console.log(acao);
  34.         });
  35. });

file query database select.php
  1. <?php
  2. session_start();
  3. require_once 'php/funcoes.php';
  4. require_once 'admin/funcoes.php';
  5. require_once 'admin/config.php';
  6. require_once 'admin/classes/bd.class.php';
  7. BD::conn();

  8. $id_compl = $_POST['id_complemento'];
  9. $id_prod = $_POST['id_produto'];
  10. $acao = $_POST['acao'];

  11. $id_sessao = $_SESSION['id_sessao'] = md5($id_prod);

  12. $seleciona_complemento = BD::conn()->prepare("SELECT * FROM `complemento` WHERE id_compl = ?");
  13. $seleciona_complemento->execute(array($id_compl));
  14. if($seleciona_complemento->rowCount() != 0){
  15.     while($complemento = $seleciona_complemento->fetchObject()){
  16.         $preco_complemento = $complemento->preco;  
  17.     }
  18. }
  19. $preco_atual_produto = BD::conn()->prepare("SELECT preco_prod FROM `produto` WHERE id_prod = ?");
  20. $preco_atual_produto->execute(array($id_prod));
  21. if($preco_atual_produto->rowCount() != 0){
  22.     while($preco_atual = $preco_atual_produto->fetchObject()){
  23.         $preco_produto = $preco_atual->preco_prod;
  24.     }
  25. }

  26. switch ($acao){
  27.     case 'add':
  28.         $insere_pedido = BD::conn()->prepare("INSERT INTO `teste` (id_prod, id_compl, novo_preco, id_sessao) VALUES (?, ?, ?, ?)");
  29.         if($insere_pedido->execute(array($id_prod, $id_compl, $preco_complemento,  $id_sessao))){
  30.             $verifica_pedido = BD::conn()->prepare("SELECT novo_preco FROM `teste` WHERE id_sessao = ? AND id_prod = ?");
  31.             $verifica_pedido->execute(array($id_sessao, $id_prod));
  32.             if($verifica_pedido->rowCount() != 0){
  33.                 while($pedido = $verifica_pedido->fetchObject()){
  34.                     $preco_total_complementos  = $pedido->novo_preco;
  35.                 }
  36.             $preco_tela = $preco_total_complementos + $preco_produto;
  37.             echo $preco_tela;
  38.             }
  39.         }
  40.         break;
  41.     case 'sub':
  42.         $deleta_pedido = BD::conn()->prepare("DELETE FROM `teste` WHERE id_sessao = ? AND id_compl = ?");
  43.         $deleta_pedido->execute(array($id_sessao, $id_compl));
  44.         $seleciona_pedido = BD::conn()->prepare("SELECT * FROM `teste` WHERE id_sessao = ? AND id_prod = ?");
  45.         $seleciona_pedido->execute(array($id_sessao, $id_prod));
  46.         if($seleciona_pedido->rowCount() != 0){
  47.             while($pedido = $seleciona_pedido->fetchObject()){
  48.                     $preco_total_complementos  = $pedido->novo_preco;
  49.             }
  50.             $sub_tela = $preco_total_complementos + $preco_produto;
  51.             echo $sub_tela;
  52.         }
  53.         
  54.         break;
  55. }
Part increment apparently is working properly.
but on the decrease, deleting the item in the table is made, but the value is not returned.
I am very grateful to everyone who can help.