Ir para conteúdo
Fórum CódigoFonte.net
Entre para seguir isso  
rodolfo_alves

Salvar dados de uma lista de SESSIONS no BD

Recommended Posts

Olá pessoas, sou novato em PHP, estou estudando a linguagem e ao mesmo tempo tentando criar algo com o que aprendi. Quando tenho dúvidas procuro na net, tópicos e ou scripts já prontos que me façam entender. Todavia desta vez não encontrei algo claro.

Estou criando um mini sistema de vendas, do qual me permite adicionar uma lista de itens. Daí está o problema, como não tenho um conhecimento avançado de arrays não estou sabendo pegar os dados da lista criada e passar para o BD. Só consigo passar a última informação criada na lista.

image.thumb.png.6b30876b06c6d40aa0200fcbfe9651da.png

 

<?php
     // inicio consulta url
    if(!isset($_SESSION['itens'])){
        $_SESSION['itens'] = array();
    }

    if(isset($_GET['acao'])){

        $id = $_GET['id'];

        // Adiciona ao carrinho
        if($_GET['acao'] == 'add'){
            if(!isset($_SESSION['itens'][$id])){
                $_SESSION['itens'][$id] = 1;
            }else{
                $_SESSION['itens'][$id] += 1;
            }
        }


        // Diminui carrinho
        if($_GET['acao'] == 'dim'){
            if(!isset($_SESSION['itens'][$id])){
                $_SESSION['itens'][$id] = 1;
            }else{
                if($_SESSION['itens'][$id] > 1)
                $_SESSION['itens'][$id] -= 1;
            }
        }


        //deleta item do carrinho
        if($_GET['acao'] == 'del'){
            $id = intval($_GET['id']);
            if(isset($_SESSION['itens'][$id])){
                unset($_SESSION['itens'][$id]);
            }
        }


        
    }

     // fim consulta url 

     // inicio consulta para adicionar
     if(count($_SESSION['itens']) == 0){

 ?>

                              <br>
                              <div class="alert alert-danger alert-dismissible">
                                <button type="button" class="close" data-dismiss="alert">&times;</button>
                                <strong>LISTA VAZIA:</strong> Para adicionar produtos/servicos realize a busca.
                              </div>
                              <br>

<?php
    }else{
        require_once('db.class.php');
        $objDb = new db();
        $link = $objDb -> conecta_mysql();

        $total = 0;
        foreach ($_SESSION['itens'] as $idProdutos => $quantidade) {
            $sql = "SELECT * FROM produtos WHERE id='$idProdutos'";
            $consultado = mysqli_query($link, $sql) or die(mysql_error());
            $linha = mysqli_fetch_array($consultado);

            $id = $linha['id'];
            $codigo = $linha['codigo'];
            $produto = $linha['produto'];
            $quantidade_disp = $linha['qtd'];
            $valor = $linha['valor'];
            $subTotal = $linha['valor'] * $quantidade;

            $total += $linha['valor'] * $quantidade;

?>
                        <tr>
                          <td><input type="hidden" name="codigo_produto" value=""><?= $codigo; ?></td>

                          <td><input type="hidden" name="nome_produto" value=""><?= $produto; ?></td>
                          
                          <td><input type="hidden" name="qtd_produto" value=""><?= $quantidade_disp; ?></td>
                          
                          <td>
                              
                              <a href="gerar_pedidos_admin.php?acao=dim&id=<?= $id; ?>"><span class="glyphicon glyphicon-minus" style="color: red"></span></a>
                              <input type="number" name="qtd_produto1" min="1" max="<?= $quantidade_disp; ?>" value="<?= $quantidade; ?>">
                              <a href="gerar_pedidos_admin.php?acao=add&id=<?= $id; ?>"><span class="glyphicon glyphicon-plus" style="color: green"></span></a>


          
                          </td>
                          
                          <td><input type="hidden" name="valor_produto" value="">R$ <?= number_format($valor,2,",", "."); ?></td>

                          <td>R$ <?= number_format($subTotal,2,",", ".");?></td>
                        
                        <td><a href="gerar_pedidos_admin.php?acao=del&id=<?= $id; ?>"><span class="glyphicon glyphicon-remove" style="color: red;"></span></a></td>
                        </tr>
<?php
        }

?>
<tr>
                             <td></td>
                             <td></td>
                             <td></td>
                             <td></td>
                             <td></td>
                             <td></td>
                             <td><label>Total</label><br>R$ <input type="hidden" name="total_pedido" value=""><?= number_format($total,2,",", ".");?></td>
                         </tr>

<?php

    }
?>
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
Entre para seguir isso  

×
×
  • Criar Novo...