Enviar valores para script frete.php e utilizar valor retorno

Olá pessoal,
Sou iniciante no scriptcase, eu desenvolvi um script php chamado frete.php que ao ser enviado parâmetros de região e peso ele me retorna o valor do frete.
Tenho uma tela(form) de pedido feita no scriptcase agora preciso criar um botão na tela ( calcular frete) onde ele vai enviar a região e peso para o frete.php e usar o valor de retorno no campo “valor do frete” do form pedido.
Qual a melhor forma de fazer isso?
Agradeço atenção

Talvez se vc criar um botão PHP e colocar nele o código que calcula o frete funcione.

Nos parâmetros que o script php precisa vc coloca os nomes dos campos:

peso = {nomedocampopeso}
regiao = {nomedocamporegiao}

{campovalorfrete} = peso * regiao

Não sei se entedeu o exemplo, se vc postar o código fica mais facil de ajudar.

Talvez um evento ajax em algum campo apropriado fique melhor ainda.

Fbonline,

Vc esta utilizando o web service dos correios?

Primeiramente gostaria de agradecer a ajuda de todos:
segue abaixo o script que estou usando pra obter retorno do valor do frete;

[code]

$frete = new Frete();
$frete->getFrete(‘joinville’,‘curitiba’,10,15);
session_start();

$db = null;
class Frete {
function __construct(){
return true;
}

/**********************************************************************
VALIDA / CRIA / ELIMINA ESTABELECIMENTO
**********************************************************************/

function getFrete($cidadeOrigem,$cidadeDestino,$pesoInicial,$pesoFim){
	$db=$this->connection();
	
	$ArrayRetorno ="Sem resultado para essa pesquisa!";
	if($cidadeOrigem!="" && $cidadeDestino!="" && $pesoInicial!="" && $pesoFim!=""){
		$resultado = mysql_query("SELECT * FROM frete
							   WHERE cidadeOrigem ='".$cidadeOrigem."' 
							   and cidadeDestino ='".$cidadeDestino."' 
							   and pesoInicial = ".$pesoInicial." 
							   and pesoFim =".$pesoFim);
	
		while ($linha = mysql_fetch_object($resultado)) {
						$ArrayRetorno[]=$linha;
		}
		mysql_free_result($resultado);
	}
	
	
	
	
	return($ArrayRetorno);
}[/code]

Sobre a pergunta do George não estou usando webservice dos correios estou usando este script acima.

Mais ajuda fico grato.

Obrigado.

Pensei em criar uma
1- função CalculaFrete();
2- chamar a função assim que abrir o form de pedidos e ao incluir mais itens no pedido

Como devo criar a função?
Ela deve pegar a somatória do peso dos itens e a região de entrega do destinatário do pedido enviar os valores para o script frete.php e pegar o valor de retorno o colocar no campo valor do frete.

Nao sei como fazer isso
Obrigado

Que tipo de aplicação vc está usando?

Obrigado por responder,
Estou usando aplicação mestre / detalhe com informacoes do pedido e item do pedido.

Eu tentaria fazer assim:

Um campo no master somando o peso dos produtos inseridos no detalhe.
Um campo para informar a origem
Um campo para informar o destino
Um campo para mostrar o valor do frete

Um botão para calcular frete, que pega os dados dos campos, faz a busca na tabela e calcula o valor do frete.

Nesta sua select não está faltando o valor do frete? Como vc calcula o valor do frete?

Obrigado,
Desculpe não ter mencionado, o valor do frete eu nao calculo, ele vem direto da tabela frete campo vlfrete.
Ex: a transportadora manda valor que ela cobra de origem ate destino com isso cadastro no sistema o nome da transportadora cidade origem cidade destino e valor cobrado isso fica salvo na tabela frete.

Acha melhor eu colocar esse código direto no scritpcase ou manter ele externo?
Nao sei como vou pegar este valor do frete e colocar ele no campo valor do frete como sugeriu na mensagem anterior.
Sobre a somatória do peso dos itens como eu posso fazer no scriptcase tem algum exemplo ou dica?
Muito obrigado pela ajuda.

Tem uma macro sc_master_value que atualiza um campo no mestre. Dê uma olhada na documentação para ver como usar.

Acho que vc vai precisar deste campos no master:

O campo peso_total deve ser atualizado pela macro sc_master_value

{origem}
{destino}
{peso_total}
{valor_frete}

O usuário informa a origem e o destino. O sistema pega a origem e o distino informado mais o peso total e busca na tabela frete o valor do frete usando como parametros a origem, o destino e o peso total.

sc_lookup(ds_frete,“select valor_frete from tab_frete where origem = {origem} And destino = {destino} And peso_inicial > {peso_total} And peso_final < {peso_total}”);

Aqui vc informa o valor do frete no campo

{valor_frete} = {ds_frete[0][0]};

Os campos origem e destino podem ser do tipo select buscando os dados na tabela frete mesmo.

Confira a construção dos código, fiz rapidão aqui, talves que virgulas fora do lugar. rsrs

1 Curtida

Olá Cleyton,

Coloquei um botão e nele o codigo:

sc_lookup(ds_frete,"select FRETE_VALOR from FRETES_TRANSPORTADORA where CIDADE_ORIGEM = ‘RIBEIRAO PRETO’ and CIDADE_DESTINO = ‘SAO JOSE DO RIO PRETO’
and PESO_INICIAL >= ‘1’ and PESO_FINAL <= ‘99’
");
{VALOR_FRETE} = 12;

Coloquei somente para teste,
Ao clicar no botão que está no Form Mestre ele dá um refresh e aparece um botão OK na tela nada mais, já testei essa SQL no FLAMEROBIN e funcionou ela dá o result, certinho.

Obrigado

Olá Pessoal consegui usando o evento Onload script para testar:

sc_lookup(result,“SELECT FRETE_VALOR FROM FRETES_TRANSPORTADORA WHERE CIDADE_ORIGEM = ‘RIBEIRAO PRETO’
AND CIDADE_DESTINO = ‘SAO JOSE DO RIO PRETO’
AND PESO_INICIAL >= ‘1’ and PESO_FINAL <= ‘99’”);
//sc_master_value(‘VALOR_FRETE’, ‘12’);
{VALOR_FRETE} = {result[0][0]};

e agora já mostra o valor no campo assim que carrega.

Agora preciso fazer funcionar em um botão de preferencia sem dar refresh na página.

Alguém pra me orientar?

Por eventos ajax nos campos que calculam não funciona?