Fdarela 0 Denunciar post Postado Junho 22, 2009 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
André D. Molin 15 Denunciar post Postado Junho 22, 2009 Isso é um array não? $frete = CalcFreteBraspress("06123867000110","2","88790000","88704180","73014982920","150","400.35","1","1"); echo $frete[TOTALFRETE]; Compartilhar este post Link para o post Compartilhar em outros sites
Fdarela 0 Denunciar post Postado Junho 23, 2009 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
hinom 5 Denunciar post Postado Junho 23, 2009 http://forum.imasters.com.br/index.php?showtopic=332753 Compartilhar este post Link para o post Compartilhar em outros sites
Fdarela 0 Denunciar post Postado Junho 23, 2009 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
Matias Rezende 50 Denunciar post Postado Junho 23, 2009 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
Fdarela 0 Denunciar post Postado Junho 23, 2009 beleza, matias_rezende, é isso mesmo valeu a ajuda, assim que estiver tudo certinho, eu posto o codigo completo pra galera Compartilhar este post Link para o post Compartilhar em outros sites