Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lioncourt

[Resolvido] Problema com incremento em carrinho proprio

Recommended Posts

Olá, estou com um problema em meu carrinho, mais especificamente na parte de "gerar" os campos para o post no pagseguro, utilizo carro com banco de dados, consigo recuperar os ids dos produtos adicionados no carrinho, seleciono os produtos e totais tudo correto, menos na parte onde tenho que fazer o loop(que faço com while) dos produtos que estão no carrinho e gerar os campos hidden para o pagseguro que são gerados porem aparece tudo o que estiver no carrinho com o mesmo numero, ou seja so adiciona o primeiro produto, não esta incrementando a variavel "$i" para acrescentar + 1 a cada ciclo do loop, segue abaixo o codigo que estou usando

 

acho que o problema pode estar nesta linha:

" for ($i = 1; $i < $conta+1; $i++) { "


<?php
      session_start();

      if(!isset($_SESSION['carrinho'])){
         $_SESSION['carrinho'] = array();
      }

      //adiciona produto

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

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

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


         if($_GET['acao'] == 'up'){
            if(is_array($_POST['prod'])){
               foreach($_POST['prod'] as $id => $qtd){
                  $id  = intval($id);
                  $qtd = intval($qtd);
                  if(!empty($qtd) || $qtd <> 0){
                     $_SESSION['carrinho'][$id] = $qtd;
                  }else{
                     unset($_SESSION['carrinho'][$id]);
                  }
               }
            }
         }

      }

         if($_GET['acao'] == 'ok'){
		 echo "<script>alert('Gravando Pedido')</script>";
            include("include/conexao.php");
            $total2 = $_POST["total_compra"];
                foreach($_SESSION['carrinho'] as $id => $qtd){
                echo $id." | ".$qtd."";
          
       
         
                 $sql   = "INSERT INTO pedidos Values('', '{$id}', '{$qtd}', '$total2', '".session_id()."')";
                 $qr    = mysql_query($sql) or die(mysql_error());

           }
           
           
           
            include("include/conexao.php");
  
                foreach($_SESSION['carrinho'] as $id => $qtd){
                echo $id." | ".$qtd."";
  
               $verifica = mysql_query("SELECT * FROM `estoque` WHERE `id_produto`='{$id}'");
               $quant = mysql_fetch_array($verifica);
		       $q_est_atual = $quant["quantidade"];
               $qtd2 = $q_est_atual - $qtd;
        
    
                 $sql   = "UPDATE estoque SET quantidade='{$qtd2}' WHERE id_produto='{$id}'";
                 $qr    = mysql_query($sql) or die(mysql_error());

           }
          
      }

         if($_GET['acao'] == 'webpay'){
            include("include/conexao.php");
            
          
		  }

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="menu.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Carrinho de Compras</title>
</head>

<body>
<table align="center" class="desc_tab">
  <caption>Carrinho de Compras</caption>
    <thead>
          <tr>
            <th width="244" class="titulo">Produto</th>
            <th width="79" class="titulo">Quantidade</th>
            <th width="89" class="titulo">Preço</th>
            <th width="100" class="titulo">SubTotal</th>
            <th width="64" class="titulo">Remover</th>
          </tr>
    </thead>
  <form action="?opcao=mov_carrinho&acao=up" method="post">
    <tfoot>
           <tr>
            <td colspan="5"><input type="submit" class="botao" value="Atualizar" /></td>
      <tr>
            <td colspan="5"><a href="?opcao=mov_index_carrinho" class="input">Continuar Comprando</a></td>
    </tfoot>

    <tbody>
               <?php
                     if(count($_SESSION['carrinho']) == 0){
                        echo '<tr><td colspan="5">Não há produto no carrinho</td></tr>';
                     }else{
                        require("include/conexao.php");
                        foreach($_SESSION['carrinho'] as $id => $qtd){
                              $sql   = "SELECT * FROM entrada,produto WHERE entrada.id_produto='$id' AND produto.id='$id'";
                              $qr    = mysql_query($sql) or die(mysql_error());
                              $ln    = mysql_fetch_assoc($qr);

                              $nome  = $ln['produto'];
                              $preco = number_format($ln['valor_individual'], 2, ',', '.');
                              $sub   = number_format($ln['valor_individual'] * $qtd, 2, ',', '.');

                              $total += $ln['valor_individual'] * $qtd;

                           echo '<tr>
                                 <td class="titulo">'.utf8_decode($nome).'</td>
                                 <td><input type="text" size="3" name="prod['.$id.']" value="'.$qtd.'" /></td>
                                 <td class="titulo_msg">R$ '.$preco.'</td>
                                 <td class="titulo_msg">R$ '.$sub.'</td>
                                 <td class="titulo"><a href="?opcao=mov_carrinho&acao=del&id='.$id.'">Remove</a></td>
                              </tr>';
                        }
                           $total = number_format($total, 2, ',', '.');
                           echo '<tr>
                                    <td class="titulo" colspan="4">Total</td>
                                    <td class="titulo_msg">R$ '.$total.'</td>
                              </tr>';
                     }
               ?>
    </tbody>
  </form>
</table>

<form id="form1" name="form1" method="post" action="?opcao=mov_carrinho&acao=ok">
  <div align="center">
    <input name="button" type="submit" class="botao" id="button" value="Finalizar" />
    <input type="hidden" name="total_compra" id="total_compra" value="<?php echo $total; ?>" />
  </div>
  <div align="center"></div>
  <div align="center"></div>
  <div align="center"></div>
</form>
<form id="form2" name="form1" method="post" action="?opcao=mov_carrinho&acao=webpay">
  <div align="center">
    <input name="button2" type="submit" class="botao" id="button2" value="Grava pedido" />
    <input type="hidden" name="total_compra" id="total_compra" value="<?php echo $total; ?>" />
  </div>
  <div align="center"></div>
  <div align="center"></div>
  <div align="center"></div>
</form>
<form target="pagseguro" action="https://pagseguro.uol.com.br/security/webpagamentos/webpagto.aspx" method="post">
  <div align="center">
    <input type="hidden" name="email_cobranca" value="bielbanco@yahoo.com.br" />
    <input type="hidden" name="tipo" value="CP" />
    <input type="hidden" name="moeda" value="BRL" />
    <!-- INÍCIO DOS DADOS DO USUÁRIO -->
    <input type="hidden" name="cliente_nome" 
value="<?php echo $nome; ?>" />
    <input type="hidden" name="cliente_cep" value="<?php echo $cep; ?>" />
    <input type="hidden" name="cliente_end" 
value="<?php echo $endereco; ?>" />
    <input type="hidden" name="cliente_num" value="<?php echo $codigo; ?>" />
    <input type="hidden" name="cliente_compl" value="Sala 109" />
    <input type="hidden" name="cliente_bairro" 
value="<?php echo $bairro; ?>" />
    <input type="hidden" name="cliente_cidade" 
value="<?php echo $cidade; ?>" />
    <input type="hidden" name="cliente_uf" value="<?php echo $estado; ?>" />
    <input type="hidden" name="cliente_pais" value="BRA" />
    <input type="hidden" name="cliente_ddd" value="18" />
    <input type="hidden" name="cliente_tel" value="<?php echo $telefone; ?>" />
    <input type="hidden" name="cliente_email" 
value="<?php echo $email; ?>" />
    <!-- FIM DOS DADOS DO USUÁRIO -->
    
    <? 
        // SELECIONA CAMPOS DA COMPRA PARA ENVIAR AO PAGSEGURO USANDO O VALOR DA SESSÃO

     foreach ($_SESSION['carrinho'] as $id => $qtd){
               // echo $id." | ".$qtd."";
		 $select = "SELECT * FROM pedidos,produto,entrada
         WHERE pedidos.id_produto='{$id}'
         AND produto.id='{$id}'
         AND entrada.id_produto='{$id}'
         AND pedidos.sessao = '".session_id()."'";
		 
        $comando = mysql_query($select); 

        $conta = mysql_num_rows($comando);
			print_r($select);
			
			print_r($conta);
			//$cadastrados++;
			//echo $cadastrados;

          //	while ($item = mysql_fetch_assoc($comando))


           for ($i = 1; $i < $conta+1; $i++) { //AQUI QUE EU ACHO QUE DEVE ESTAR O PROBLEMA
           $item=mysql_fetch_assoc($comando)

?>
    <input type="hidden" name="item_id_<?=$i;?>" value="<?=$item['id'];?>" />
    <input type="hidden" name="item_descr_<?=$i;?>" value="<?=$item['produto'];?>" />
    <input type="hidden" name="item_quant_<?=$i;?>" value="<?=$item['quantidade'];?>" />
    <input type="hidden" name="item_valor_<?=$i;?>" value="<?=$item['valor_individual'];?>" />
    <?

    }
       }
   
	 ?>
       <label>
      <input name="button5" type="submit" class="botao" id="button5" value="WebPay" />
    </label>
  </div>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.