Ir para conteúdo

POWERED BY:

Arquivado

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

Fdarela

[Resolvido] Cálculo de frete

Recommended Posts

Boa tarde amigos

 

Estocom um script para cálculo de frete em uma loja virtual, o frete é calculado pela braspress, através do webservice deles, tenho a função que me da o retorno dos valores tudo certinho, só que não consigo pegar estes valores e jogar dentro do minha cesta de copras, tipo pegar o valor que vem do frete e coloca-lo junto no carrinho...

 

bom o código é esse:

 

<?php
/**
* Função que calcula o o valor do frete na Transportadora BrasPress.
*
* @param integer $Cnpj - Cnpj cadastrado na BrasPress
* @param integer $EmpresaTransp - Padrão 2 = BrasPress
* @param integer $CepLocal
* @param integer $CepDestino
* @param integer $CpfDestino
* @param float $Peso // Formato 10.35
* @param float $Valor // Formato 1000.45
* @param integer $QtdeVolumes
* @param integer $TipoFrete - //1 para CIF ou 2 para FOB (cif=frete pago por quem envia | fob=frete pago por quem compra)
* @return array
* @author Frank Darela
* 
* @example print_r(CalcFreteBraspress("digite o cpf","2","3322002","4617000","71612717000132","58","2400.35","10","1"));
*/

function CalcFreteBraspress($Cnpj,$EmpresaTransp,$CepLocal,$CepDestino,$CpfDestino,$Peso,$Valor,$QtdeVolumes,$TipoFrete)
{
	$LinkCalcFrete = "http://tracking.braspress.com.br/trk/trkisapi.dll/PgCalcFrete_XML?param=$Cnpj,$EmpresaTransp,$CepLocal,$CepDestino,$Cnpj,$CpfDestino,$TipoFrete,$Peso,$Valor,$QtdeVolumes";
	return simplexml_load_file($LinkCalcFrete);
}

// aqui é um exemplo de como os resutados são retornados, se você executar o código .
print_r(CalcFreteBraspress("06123867000110","2","88790000","88704180","73014982920","150","400.35","1","1"));

?>

 

e esta é a forma como o resultado é apresentado no browser, depois da execução do script, só que não consigo tirar desse resultado só o valor que eu quero, tipo eu quero só [TOTALFRETE] => 137,16 , mas não consigo extrair somente este valor do resultado retornado.

 

SimpleXMLElement Object ( [TOTALFRETE]=> 137,16 [iCMS] => 17 [VALORICMS] => 23,32 [FRETEPESO] => 126,51 [FRETEVALOR] => 0,96 [TXSECCAD] => 0 [TXPEDAGIO] => 6,22 [TXDESPACHO] => 0 [TXITR] => 0 [TXOUTROS] => 2,02 [TXADEME] => 1,45 [sUBTOTAL] => 130,94 [PRAZO] => 2 [MSGERRO] => OK [EMPRESA] => BRASPRESS )

como faço pra conseguir isso???

Será que algué pode me dar uma ajuda...gente eu custei a conseguir esta fução, agora tenho que faze-la funcionar....

 

me ajudem

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim amigo

é uma array,

fiz como o código que você postou mas retornou o seguinte erro:

 

Notice: Use of undefined constant TOTALFRETE - assumed 'TOTALFRETE' in C:\wamp\www\uaustudioweb\teste_frete.php on line 27

Tentei de outras formas e retorna vazio, página em branco

 

:blink: http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha só colega eu li o tópico que me indicou e fiz todo tipo de teste e não funcionou.

 

A questão é como eu pego o resultado que ve pra mim assm:

SimpleXMLElement Object

(

[TOTALFRETE] => 137,16

[iCMS] => 17

[VALORICMS] => 23,32

[FRETEPESO] => 126,51

[FRETEVALOR] => 0,96

[TXSECCAD] => 0

[TXPEDAGIO] => 6,22

[TXDESPACHO] => 0

[TXITR] => 0

[TXOUTROS] => 2,02

[TXADEME] => 1,45

[sUBTOTAL] => 130,94

[PRAZO] => 2

[MSGERRO] => OK

[EMPRESA] => BRASPRESS

)

e retiro dele só o que eu quero, tipo >>> [TOTALFRETE] => 137,16 <<<, sendo que o que eu quero mesmo é só o valor do frete pra jogar dentro de minha cesta de compras.

 

tipo com os do correio, que ja me retorno o valor e tals,

Cara to ficando doido com esse negócio já, eu achei que seria mais fácil, mas to quebrando a cabeça

 

preciso mesmo de uma ajudinha

 

falou

Compartilhar este post


Link para o post
Compartilhar em outros sites

Manual

 

simplexml_load_file — Interprets an XML file into an object

Assim sendo, ficaria mais ou menos assim:

$x = CalcFreteBraspress("06123867000110","2","88790000","88704180","73014982920","150","400.35","1","1");
echo $x->TOTALFRETE;

Carlos Eduardo

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.