Valor do frete incluido no carrinho de compras
galera bom dia.
eu fiz um carrinho de compras e agora estou tentando incluir um calculo de frete, e ele ja adicionar no proprio carrinho e acrescentar o valor do frete no valor total da venda.
como eu faço isso? ja que agora quando peço para calcular o frete ele vai para outra pagina e imprimi o valor do frete.
agora minha duvida, como eu retorno o valor do frete no meu carrinho.
segue codigos meu carrinho:
<?php
session_start();
//instanciar a pagina do carrinho
$pagina = 'carrinho.php';
?>
<form id="form-pesquisa-repasse" action="calcularfrete.php" method="post" class="formMain formSearch wsizep100">
<?php//iniciar classe
class shopping{
private $banco = 'carrinho';
private $senha = 'admin123';
private $login = 'root';
private $hostname = 'localhost';
//conexao com o banco de dados
function conexao(){
mysql_connect($this->hostname, $this->login, $this->senha) or die ("Não foi possível conectar ao banco de dados");
mysql_select_db($this->banco) or die ("Não foi possível selecionar o banco de dados".mysql_error());
mysql_query("SET NAME 'utf8'");
mysql_query("SET character_set_connection=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_results=utf8");
}
//Mostrar o Carrinho de compras
function carrinho(){
//Verifica se existe uma session
if($_SESSION){
//separar nome de quantidade ou valores
foreach($_SESSION as $nome => $quantidade){
//Verificar se a quantidade nao está vazia
if($quantidade > 0){
if(substr($nome,0,9) == 'produtos_'){
//pegar id da session
$id = substr($nome,9,(strlen($nome) -9));
//montar o carrinho
$pd = mysql_query("SELECT id, produto, valor FROM compras WHERE id=".mysql_real_escape_string((int)$id));
while($list = mysql_fetch_assoc($pd)){
$subtotal = $quantidade * $list['valor'];
echo '
<tr>
<td width="20%" height="44" bgcolor="#FFFFFF" align="center">'.$list['produto'].'</td>
<th width="7%" height="44" align="center" valign="middle" bgcolor="#FFFFFF">'.$quantidade.' x</th>
<th width="11%" height="44" align="center" valign="middle" bgcolor="#FFFFFF" >R$ '.number_format($list['valor'], 2).'</th>
<td width="6%" height="44" align="center" valign="middle" bgcolor="#FFFFFF" >
<a href="processa.php?add='.(int)$id.'">
<img src="image/adcionar.png" width="44" height="44" border="0" alt="Adcionar unidade ao carrinho" /></a>
</td>
<td width="6%" height="44" align="center" valign="middle" bgcolor="#FFFFFF" >
<a href="processa.php?menos='.(int)$id.'">
<img src="image/retirar.png" width="44" height="44" border="0" alt="Remover unidade do carrinho" /></a>
</td>
<td width="6%" height="44" align="center" valign="middle" bgcolor="#FFFFFF" >
<a href="processa.php?del='.(int)$id.'">
<img src="image/cancelar.png" width="44" height="44" border="0" alt="Retirar item do carrinho" /></a>
</td>
<th width="11%" height="44" align="center" valign="middle" bgcolor="#FFFFFF">R$ '.number_format($subtotal, 2).'</th>
</tr>
';
}
}
$total += $subtotal;
}
}
}
if($total == 0){
echo '
<tr>
<td colspan="7" align="center" valign="middle" class="total">Seu carrinho está vazio</td>
</tr>
<tr>
<td colspan="7" align="center" valign="middle" height="44">
<a href="produtos.php">
<img src="image/continuarcomprando.png" height="41" alt="Continuar comprando" border="0">
</a>
</td>
</tr>
';
}else{
echo '
<tr>
<td colspan="2" bgcolor="#FFFFFF"></td>
<td bgcolor="#FFFFFF" align="center">
Tipo de entrega <select id="tipo" name="tipo" title="Serviços dos Correios" class="select" tabindex="1">
<option value="PAC">PAC</option>
<option value="SEDEX">SEDEX</option>
</select>
</td>
<td bgcolor="#FFFFFF" colspan="2" align="center">
<label class="wsize010" for="cep-destino">
<span class="nameField">CEP Destino</span>
<input id="cep-destino" class="text" type="text" value="" maxlength="9" title="CPF destino" name="cep" tabindex="2"/>
</td>
<td bgcolor="#FFFFFF">
<input type="submit" id="pesquisar" name="pesquisar" tabindex="3" class="button inline" value="Calcular" />
</form>
</td>
<td bgcolor="#FFFFFF">
<span id="value"></span>
</td>
</tr>
<tr>
<td colspan="4"></td>
<th colspan="2" align="center" valign="middle" class="total" >Total</th>
<th align="center" valign="middle" bgcolor="#FFFFFF" height="44">R$ '.number_format($total, 2).'</th>
</tr>
<tr>
<td colspan="6"></td>
<td align="center" valign="middle" height="44" bgcolor="#FFFFFF">
<a href="produtos.php">
<img src="image/continuarcomprando.png" height="41" alt="Continuar comprando" border="0" class="total">
</a>
</td>
<td>
</tr>
<tr>
<td></td>
<td align="center" valign="middle" height="44">
<a href="loja/pages/carrinho.php">
<img src="image/finalizarcompra.png" height="41" alt="Continuar comprando" border="0" class="total">
</a>
</td>
<td>
<a href="produtos.php">
<img src="image/limparcarrinho.png" height="41" alt="Continuar comprando" border="0" class="total">
</td>
</tr>
';
}
}
//FIM DA CLASS
}
//verificação de adição
if(isset($_GET['add'])){
$conn = new shopping();
$conn->conexao();
$qt = mysql_query("Select id, quantidade FROM compras WHERE id= ".mysql_real_escape_string((int)$_GET['add']));
$list = mysql_fetch_assoc($qt);
if($_SESSION['produtos_'.$_GET['add']] != $list['quantidade']){
$_SESSION['produtos_'.$_GET['add']] += '1';
}
header ("Location: ".$pagina);
}
//verificação de subtração
if(isset($_GET['menos'])){
$_SESSION['produtos_'.$_GET['menos']]--;
header ("Location: ".$pagina);
}
//verificação zerar
if(isset($_GET['del'])){
$_SESSION['produtos_'.$_GET['del']] = '0';
header ("Location: ".$pagina);
}
?>
e o do frete:
<?php
$sCepDestino = htmlspecialchars($_POST['cep']); //LIMPA A VARIAVEL
$sCepDestino = str_replace("-", "", $sCepDestino); //REMOVE O - CASO POSSUA
//PEGA O TIPO DE FRETE E CONVERTE NO CODIGO
if ($_POST['tipo'] == "PAC") {
$nCdServico = 41106;
}
if ($_POST['tipo'] == "SEDEX") {
$nCdServico = 40010;
}
//DADOS PARA O CORREIO
$nCdEmpresa = "";
$sDsSenha = "";
$sCepOrigem = 36015000; //CEP DE ORIGEM
$nVlPeso = "5"; //PESO É IMPORTANTE PARA O CALCULO
$nCdFormato = 1;
$nVlComprimento = 20;
$nVlAltura = 20;
$nVlLargura = 20;
$nVlDiametro = 0;
$sCdMaoPropria = "N";
$nVlValorDeclarado = 0;
$sCdAvisoRecebimento = "S";//
// URL QUE FARÁ AS CONSULTAS NOS CORREIOS
$URLcorreios ="http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?"
."nCdEmpresa=$nCdEmpresa&"
."sDsSenha=$sDsSenha&"
."sCepOrigem=$sCepOrigem&"
."sCepDestino=$sCepDestino&"
."nVlPeso=$nVlPeso&"
."nCdFormato=$nCdFormato&"
."nVlComprimento=$nVlComprimento&"
."nVlAltura=$nVlAltura&"
."nVlLargura=$nVlLargura&"
."sCdMaoPropria=$sCdMaoPropria&"
."nVlValorDeclarado=$nVlValorDeclarado&"
."sCdAvisoRecebimento=$sCdAvisoRecebimento&"
."nCdServico=$nCdServico&"
."nVlDiametro=$nVlDiametro&"
."StrRetorno=xml";
//PEGAMOS OS DADOS DE RETORNO XML COM O SIMPLEXML DO PHP
$dados_correios = simplexml_load_file($URLcorreios);
$total = $dados_correios->xpath('cServico/Valor');
$total = floatval(str_replace(',', '.', $total[0]));
$PrazoEntrega = $dados_correios->xpath('cServico/PrazoEntrega');
$erros = $dados_correios->xpath('cServico/Erro');
$ValorAvisoRecebimento = $dados_correios->xpath('cServico/ValorAvisoRecebimento');//
//IMPRIME A RESPOSTA COM O VALOR DO FRETE
$resposta[valor] = number_format($total, 2, ',', '.');
print_r($resposta[valor]);
?>
agora estou quebrando a cabeça para ele me retornar esse valor ja no meu carrinho:
$resposta[valor] = number_format($total, 2, ',', '.');
print_r($resposta[valor]);Discussão (9)
Carregando comentários...