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

Não Calcula direito


Clayton

Pergunta

Olá amigos preciso da ajuda de vocês , pois o meu sistema não está fazendo o cálculo dos produtos corretamente( está dando pra menos) abaixo o js que faz o cálculo:


$(document).ready(function (e) {
    $('input').change(function (e) {
        id = $(this).attr('rel');
        $index = this.value;
        $preço = $('font#preço'+id).html().replace("R$ ",'');
        console.log($preço);
        $val = ($preço*$index).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,');;
        $('font#sub'+id).html('R$ '+$val);
 clearInterval(timer);

        });
        });


e o script que finaliza a compra:

<?php
include_once("../funcao/conecta.php");
      session_start();

      if(!isset($_SESSION['shop'])){
         $_SESSION['shop'] = array();
      }
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Endereço e Forma de pagamento</title>
<script type="text/javascript" src="../js/jquery-1.5.2.min.js"></script>
<script type="text/javascript">
$(document).ready (function() {

  $("#cardradius") .click (function()  {

      $(".card") .css ("visibility" ,"visible");
       $(".boleto") .css ("visibility" ,"hidden");
        $(".mercado") .css ("visibility" ,"hidden");
         $(".pagseguro") .css ("visibility" ,"hidden");
  });
   $("#boletoradius") .click (function()  {

      $(".card") .css ("visibility" ,"hidden");
       $(".boleto") .css ("visibility" ,"visible");
       $(".mercado") .css ("visibility" ,"hidden");
         $(".pagseguro") .css ("visibility" ,"hidden");
  });
     $("#mercadoradius") .click (function()  {

      $(".card") .css ("visibility" ,"hidden");
       $(".boleto") .css ("visibility" ,"hidden");
       $(".mercado") .css ("visibility" ,"visible");
         $(".pagseguro") .css ("visibility" ,"hidden");
  })
     $("#pagseguroradius") .click (function()  {

      $(".card") .css ("visibility" ,"hidden");
       $(".boleto") .css ("visibility" ,"hidden");
       $(".mercado") .css ("visibility" ,"hidden");
         $(".pagseguro") .css ("visibility" ,"visible");
  })
  });
</script>
</head>
<body>
<div id="principal">
<div id="conteudo">
<div class="progressend"><div align ="center"><img src="../imagens/13.png" class="progend" ></div>
<div class="textprogress"> <li>IDENTIFICAÇÃO</li><li>ENTREGA E PAGAMENTO</li><li>CONFIRMAÇÃO</li> </div>
<div class="enderecamento">
<div class="textoprog"> <h2>1</h2>&nbsp;&nbsp; Endereço de entrega e cobrança </div>

<ul><?php
if (isset($_POST['cep-destino'])){
    // Peso total do pacote em Quilos, caso seja menos de 1Kg, ex.: 300g, coloque 0.300
define('PESO',7.00);
define('EMBALAGEM',2.00);

// Valor adicional no envio como custo de embalagem.
define('COMPRIMENTO',60);
define('ALTURA',15);
define('LARGURA',20);

if($_POST) {
// Código do Serviço que deseja calcular, veja tabela acima:
if ($_POST['servico']) {
$cod_servico = $_POST['servico'];
}
// CEP de Origem, em geral o CEP da Loja
$cep_origem = '13360-000';

// CEP de Destino, você pode passar esse CEP por GET ou POST vindo de um formulário
$cep_destino = $_POST['cep-destino'];
$cep_destino = @eregi_replace("([^0-9])","",$cep_destino);

// URL de Consulta dos Correios
$correios = "http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?StrRetorno=xml&nCdServico={$cod_servico}&nVlPeso=" . PESO . "&sCepOrigem={$cep_origem}&sCepDestino={$cep_destino}&nCdFormato=1&nVlComprimento=" . COMPRIMENTO . "&nVlAltura=" . ALTURA . "&nVlLargura=" . LARGURA;

// Capta as informações da página dos Correios
$correios_info = file($correios);

// Processa as informações vindas do site dos correios em um Array
foreach($correios_info as $info) {

// Busca a informação do Preço da Postagem
if(preg_match("/\<Valor>(.*)\<\/Valor>/",$info,$tarifa)) {

$frete = $tarifa[1] + EMBALAGEM;
}
if(preg_match("/\<PrazoEntrega>(.*)\<\/PrazoEntrega>/",$info,$PrazoEntrega)) {
$PrazoEntrega = $PrazoEntrega[1];
}
}

// Neste exemplo estamos usando apenas PAC e SEDEX. Caso seja necessário, utilize outras opções.
switch ($cod_servico) {
case 41106:
$nome_servico = " PAC ";
break;
case 40010:
$nome_servico = " SEDEX ";
break;
}
}
}
?>
<form id="form-pesquisa-repasse" action="" method="post" class="formMain formSearch wsizep100" >
<fieldset>
<legend>Pesquisar valor do frete!</legend>
<label for="servico" class="wsize015">
<span class="nameField">Envio</span>
<select id="servico" name="servico" title="Serviços dos Correios" class="select" tabindex="1">
<option value="41106">PAC</option>
<option value="40010">SEDEX</option>
</select>

</label>
<label class="wsize010" for="cep-destino">
<span class="nameField">CEP Destino</span>
<input id="cep-destino" class="text" type="text" value="<?php echo  @$cep_destino ?>" maxlength="9" title="CPF destino" name="cep-destino" tabindex="2"/>
</label>
<label for="pesquisar" class="wsize010">
<input type="submit" id="pesquisar" name="pesquisar" tabindex="3" class="button inline"  value="Pesquisar" />
</label>
</fieldset>
</form>
 <?php
// Caso venha valor de resposta é numerio e maior que o custo da embalagem senão ocorreu algum erro na solicitação.
if(is_numeric(@$frete) and (@$frete > @$embalagem)) {

// Quando encontra o valor da postagem, exibe na página formatando em padrão de moeda 10,89
// Caso você não queira formatar basta comentar a linha abaixo que será exibido assim 10.89 e basta executar o comando abaixo
$frete = number_format($frete,2,',','.');

echo $nome_servico . $frete . ' prazo entrega de ' . $PrazoEntrega . ' dia(s) ';
}  else {
 echo 'Erro ao consultar verifique se o CEP esta correto';
}  ?>
</li>
</ul>
<form action="email.php" method="post" >
<ul>Nome : <input type="text" name="name" class="one" ></ul>
<ul>Endereço : <input type="text" name="endereco" class="two"><li> Numero : <input type="text" name="numero" class="tree" ></li></ul>
<ul>Bairro : <input type="text" name="bairro" class="four">
 <li> UF :<input type="text" name="uf" class="six"></li>
<li class="city"> Cidade :<input type="text" name="cidade" class="five" ></li>
</ul>
<ul> Telefone :<input type="text" name="tel" class="eight">  </ul> </div>
<div class="pagamento">

<div class="textoprog"> <h2>2</h2>&nbsp;&nbsp;Forma de pagamento</div>
<?php
 $total = 0;
 $conn = conecta();
 foreach ($_SESSION['shop'] as $id => $qtd) {
                            $cart = $conn->prepare("SELECT * FROM produtos WHERE  id=$id");
                            $cart->setFetchMode(PDO::FETCH_ASSOC);
                            $cart->execute();
                            while ($linha = $cart->fetch()) {

                              $foto = $linha['foto'];
                              $nome = $linha['nome'];
                              $descricao = $linha['descricao'];
                              $tamanho = $linha['tamanho'];
                              $cor = $linha['cor'];
                              $preço = $linha['preço'];
                              $total = number_format($total, 2, ',', '.');
                              $total += $linha['preço'] * $qtd;

                        }
?>
<div class="pal"><input type="radio" id="cardradius" name="bt" class="radio" ><img src="imagens/card.fw.png" class="cardicon" /><li>Cartão de credito</li></div>
<div class="card">
<div class="imgcard"><input type="radio" name="operadora" value="mastercard"><img src="imagens/Mastercard.fw.png" width="33" height="20" />
 <input type="radio" name="operadora" value="visa"><img src="imagens/visa_512.fw.png" width="33" height="20" ></div>
 <div class="infocard">
 <div class="namecard">Nome impresso no cartão : <input type="text" name="nomecard" class="card1" ></div>
  <div class="codcard">Numero do cartão :<input type="text" name="codcard" class="card2" ></div>
   <div class="datecard">Data de validade :
   <div class="month"> mês :</div>
   <select name="monthcard" class="card3" >
   <option value="Janeiro"> Janeiro</option>
   <option value="Fevereiro"> Fevereiro</option>
   <option value="Março"> Março</option>
   <option value="Abril"> Abril</option>
   <option value="Maio"> Maio</option>
   <option value="Junho"> Junho</option>
   <option value="Julho"> Julho</option>
   <option value="Agosto"> Agosto</option>
   <option value="Setembro"> Setembro</option>
   <option value="Outubro"> Outubro</option>
   <option value="Novembro"> Novembro</option>
   <option value="Dezembro"> Dezembro</option>
   </select>
   <div class="year"> Ano :
   <select name="yearcard" class="card4" >
   <option value="15"> 15</option>
   <option value="16"> 16</option>
   <option value="17"> 17</option>
   <option value="18"> 18</option>
   <option value="19"> 19</option>
   <option value="20"> 20</option>
   <option value="21"> 21</option>
   <option value="22"> 22</option>
   <option value="23"> 23</option>
   <option value="24"> 24</option>
   <option value="25"> 25</option>
   </select>
   </div>
   </div>
   <div class="securitycode">Codigo de segurança(CW) :<input type="text" name="securitycode" class="card5" ></div>
   <div class="parcel">Numero de parcelas
   <select name="parcel" class="card6" >
   <option value="1 Vez de R$   <?php echo number_format(@$total + @$frete , 2, ',', '.') ?>">1 Vez de R$   <?php echo number_format(@$total + @$frete , 2, ',', '.') ?></option>
   <option value="2 Vezes de R$ <?php echo number_format(@$total / 2 , 2, ',', '.')  ?>">2 Vezes de R$ <?php echo number_format(@$total / 2 , 2, ',', '.')  ?></option>
   <option value="3 Vezes de R$ <?php echo number_format(@$total / 3 , 2, ',', '.')  ?>">3 Vezes de R$ <?php echo number_format(@$total / 3 , 2, ',', '.')  ?></option>
   <option value="4 Vezes de R$ <?php echo number_format(@$total / 4 , 2, ',', '.')  ?>">4 Vezes de R$ <?php echo number_format(@$total / 4 , 2, ',', '.')  ?></option>
   <option value="5 Vezes de R$ <?php echo number_format(@$total / 5 , 2, ',', '.')  ?>">5 Vezes de R$ <?php echo number_format(@$total / 5 , 2, ',', '.')  ?></option>
   <option value="6 vezes de R$ <?php echo number_format(@$total / 6 , 2, ',', '.')  ?>">6 vezes de R$ <?php echo number_format(@$total / 6 , 2, ',', '.')  ?></option>
   </select>
   </div>
 </div>
 </div>
<div class="pal"><input type="radio" id="boletoradius" name="bt" class="radio" ><img src="imagens/boleto.fw.png" class="boleticon" /><li>Boleto bancário</li></div>
<div class="boleto">
<li>Pagamento à vista</li>
<li>Boleto vence em três dias</li>
<li>Imprima o boleto após a finalização do pedido</li>
<li>O pagamento do boleto poder ser feito em agências bancárias, casas lotéricas, correios ou internet banking</li>
</div>
<div class="pal"><input type="radio" id="mercadoradius" name="bt" class="radio" ><img src="imagens/mercado.fw.png" class="mpicon" /><li>Mercado Pago</li></div>
<div class="mercado">
<li>Após a finalização do pedido será aberta uma janela para realizar o pagamento através do MercadoPago</li>
<li>O ambiente de pagamento é totalmente seguro</li>
<li>Compras parceladas em até 12x através do MercadoPago não terão custos extras</li>
</div>
<div class="pal"><input type="radio" id="pagseguroradius" name="bt" class="radio" ><img src="imagens/pag.fw.png" class="pagicon" /><li>Pague seguro</li></div>
<div class="pagseguro">
<li>Após a finalização do pedido será aberta uma janela para realizar o pagamento através do Pagseguro</li>
<li>O ambiente de pagamento é totalmente seguro</li>
<li>Compras parceladas em até 12x através do Pagseguro </li>
</div>
</div>
<div class="confirma">
<div class="textoprog"> <h2>3</h2>&nbsp;&nbsp;Confirmar pedido </div>
<div class="desfinaliza">
<div id="textoend1"> <li>Codigo</li> <li>Foto</li> <li>Nome</li> <li>Quantidade</li> <li>Preço</li> </div>
</div>
 <?php

 $total = 0;
 foreach ($_SESSION['shop'] as $id => $qtd) {
                            $cart = $conn->prepare("SELECT * FROM produtos WHERE  id=$id");
                            $cart->setFetchMode(PDO::FETCH_ASSOC);
                            $cart->execute();
                            while ($linha = $cart->fetch()) {

                              $foto = $linha['foto'];
                              $nome = $linha['nome'];
                              $descricao = $linha['descricao'];
                              $tamanho = $linha['tamanho'];
                              $cor = $linha['cor'];
                              $preço = $linha['preço'];
                              $total += $linha['preço'] * $qtd;

echo '
<div id="textoend2">
<li ><div class="size" >R$'.$preço.' </div></li>
<li><div class="sub2 size"> '.$qtd.' </div></li>
<li><div class="name"> '.$linha['nome'].'<br>'.$linha['descricao'].'</div> </li>
<img "</td>
<li><div class="img"><img src = "../' . $foto . ' " width = "120px" height="120"  /></div> </li>
</div>
';
                    }
        }
      }

     $total = number_format($total +  @$frete, 2, ',', '.');

echo'
<div id="textoend">
<li class="totend">Total :</li>
<li class="totend2">R$ '.$total.' </li>
<li class="totend3"><input type="submit" class="totend3button" value="Finalizar Compra"></li>
</div>
';

?>

</div>
<input type="hidden"  name="nome" value="<?php echo $linha['nome'] ?>" >
<input type="hidden"  name="descricao" value=" <?php echo $linha ['descricao'] ?>" >
<input type="hidden"  name="quantidade" value="<?php echo $qtd ?>" >
<input type="hidden"  name="frete" value="<?php echo $frete ?>" >
<input type="hidden"  name="total" value="<?php echo $total ?>" >
</form>
</div>
 </div>
</body>
</html>


Por exemplo se o total é :  R$ 3.696,00            apresenta no total:  R$ 1.848,00, ou seja isso so acontece quando altero a quantidade no botao , se comprar direto funciona, o que fazer?

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...