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().
Pergunta
piteco
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
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.