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

Calcular Valor Do Frete Com Cep Inicial E Cep Final


e-junior

Pergunta

Olá pessoal tudo bom???

bom estou com a seguinte duvida já procurei no forum mas não encontrei nada.

Bom estou fazendo um calculo do sedex tenho duas tabelas "tb_frete" onde o usuario do admin cadastrada as formas de entrega que irão aparecer no site e uma tabela "tb_frete_faixas" onde o usuario do admin cadastrada as faixas liberadas de cada forma de entrega cadastrada.

Bom minha duvida e a seguinte como faço para calcular o valor do frete se é em SQL ou com uma Função do PHP???

sendo que vou passar somente o parametro CEP: 14015000

#####TABELA - tb_frete#####

id_frete

data_cadas

status

tipo_frete

frete

msg

Dados da tb_frete como exemplo: LINK

#####TABELA - tb_frete_faixas#####

id_frete

localizacao

cep_inicio

cep_fim

peso_inicio

peso_fim

valor

Dados da tb_frete_faixas como exemplo: LINK

Até + e espero que alguém consiga me ajudar.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Sem querer jogar água no seu chopp, mas desse jeito você vai ter alguns problemas, primeiro que as faixas de CEP são definidos apenas com os 3 primeiros dígitos do CEP (SP é do 100 até o 199, RJ do 200 até 289, etc...), segundo que o CEP do interior e da capital tem preços diferentes (você pode simplesmente cobrar o do interior e ignorar esse detalhe)...

Se você for cobrar um frete único (ignorando o fato de que capital e interior tem preços diferentes) você pode usar a própria sigla do estado junto com o peso direto...

Link para o comentário
Compartilhar em outros sites

  • 0

ESerra,

você tem uma outra forma melhor???

porque a tabela que o correio manda dos valores é desse jeito:

IMAGEM: tb_correios.jpg

E outra antes de efetuar o calculo o cara vai informar no formulario o CEP, ele informa o CEP em um campo "14015" e depois no outro campo "170"

Link para o comentário
Compartilhar em outros sites

  • 0

Você tá usando essa tabela dos correios, ok...

Bom, só que então, você vai lá cadastrar os estados e os preços com as faixas de peso, mas mesmo assim, você vai ter que descobrir de que estado é o cep informado...

Link para o comentário
Compartilhar em outros sites

  • 0

acho que não preciso saber o estado porque estou cadastrando assim:

LINK

O problema e como lhe disse no primeiro tópico o cara informa no formulario o CEP "140015" - "170" na tabela esta cadastrado as faixas de CEP de "10000" A "19999" e com as faixas de peso o problema é como faço no select pra busca nesse intervalo do cep.

entendeu???

Link para o comentário
Compartilhar em outros sites

  • 0

Ok, então defina a faixa primeira (if/else), por exemplo, CEP:

$cep = 19955;

if (($cep >= 00000)) AND ($cep <= 09999)){$cep_inicial = 00000; $cep_final = 099999}

elseif....

else{}

Na query você usa as informaçõesdo $cep_inicial e $cep_final para pegar os dados...tipo

SELECT * FROM tabela WHERE coluna_do_cep BETWEEN $cep_inicial AND $cep_final

Claro que você vai ter que incluir a informação do peso, etc... na query também...

Eu particularmente não incluiria várias vezes as informações das faixas de CEP pois isso vai de encontro a alguns princípios de integridade...

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
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...