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

Erro no cálculo dentro do foreach()


piteco

Pergunta

A rotina que coloco a seguir está funcionando quando coloco um botão para ser calcular todos os itens que estão selecionados, agora preciso que ela funcione dentro de um laço de repetição para calcular o valor de frete de cada item a medida que a condição for verdadeira, assim ela dá erro na função getFrete().

<?php
 session_start();

 require_once("RsCorreios.php");
 $frete = new RsCorreios();

?>
<!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>
<?php
setlocale(LC_MONETARY, 'pt_BR');
require_once('pagueseguro/PagSeguroLibrary.php');

// Instanciando a class PagSeguroPaymentRequest
$vendaPagueSeguro = new PagSeguroPaymentRequest();

$vendaPagueSeguro->setShippingType(1);    

?>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>

</head>
<body>

 <?php
  foreach($_SESSION as $id => $quantidade){
      if($quantidade > 0){
        $id = substr($id, 9);
        
        $sql   = $conecta->executa_query("SELECT * FROM lj_produtos WHERE id_produto = $id");
        $lista = mysql_fetch_array($sql);
        
        $identificacao = $lista['id_produto'];
        $descricao     = $lista['nome_produto'];
        $valor_unit    = $lista['vlr_pf'];
        
        $nVlPeso       = $lista['peso'];
                $nVlAltura     = $lista['altura']; 
                $nVlLargura    = $lista['largura']; 
            $nVlComprimento= $lista['comprimento'];
            $diametro      = $lista['diametro']; 
        
        
        $sCepDestino    = $rs['cep'];

                $sCepOrigem = "40000000";
                $nCdServico  ="41106"; 

        $frete->setValue(nVlPeso, $nVlPeso);
        $frete->setValue(nVlAltura, $nVlAltura);
        $frete->setValue(nVlLargura, $nVlLargura);
        $frete->setValue(nVlComprimento, $nVlComprimento);
        $frete->setValue(sCepDestino, $sCepDestino);
        $frete->setValue(sCepOrigem, $sCepOrigem);
        $frete->setValue(nCdServico, $nCdServico);
    
        
        $frete->getDiametro();
        
        $result = $frete->getFrete();
        
    
        if ($result['erro'] != 0) {
                $resultadoFrete = $result['msg_erro'];
        }
        else {
            $valorFrete      = $result['valor'];
            $prazoEntrega = $result['prazo_entrega'];    
        }
        
        $vendaPagueSeguro->addItem($identificacao, $descricao, $quantidade, $valor_unit, $peso, $valorFrete);
    }

  }
  ?>

</body>
</html>
A função getFrete é essa:
public function getFrete()
    {
        $response = $this->_getSite(self::_getURL());
        $xml = simplexml_load_string ($response);
        $frete = array ("servico_codigo" => $xml->cServico->Codigo,
           "valor" => $xml->cServico->Valor,
            "prazo_entrega" => $xml->cServico->PrazoEntrega,
            "mao_propria" => $xml->cServico->ValorMaoPropria,
            "aviso_recebimento" => $xml->cServico->ValorAvisoRecebimento,
            "valor_declarado" => $xml->cServico->ValorValorDeclarado,
            "en_domiciliar" => $xml->cServico->EntregaDomiciliar,
            "en_sabado" => $xml->cServico->EntregaSabado,
            "erro" => $xml->cServico->Erro,
            "msg_erro" => $xml->cServico->MsgErro);
        return $frete;
    }

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
qual o erro que ta retornando?

O erro é esse

O erro q dá é esse

Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Entity 'aacute' not defined in /home/izabelle/public_html/marcos/lojanossa/nav/RsCorreios.php on line 200

Link para o comentário
Compartilhar em outros sites

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...