Jump to content


Photo

Pegar Valor De Frete Separado Por ,


  • Faça o login para participar
6 replies to this topic

#1 victors

victors

    Turista

  • Usuários
  • 58 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 13/01/2009, 15:45

Olá, no sistema de e-commerce que eu utilizo as tarifa do frete é registrado no banco da seguinte maneira:
1:11.40,2:12.90,3:14.40,4:15.90,5:17.70,6:19.50,7:21.30,8:23.10,9:24.90,10:26.60,11:28.30,12:30.00,13:31.70,14:33.40,15:35
até 1 kg R$11,40...

Salvei o peso do produto em uma variável, como faço para fazer a comparação com a linha dos valores de frete e pegar somente o valor?

valews!

Edição feita por: victors, 13/01/2009, 15:49.


#2 hooligans

hooligans

    Normal

  • Usuários
  • 83 posts
  • Sexo:Não informado

Posted 13/01/2009, 16:06

não dá pra usar o explode ?


http://imasters.uol....funcao_explode/

dá uma olhada ai

#3 jhrebuski

jhrebuski

    jhrhp

  • Usuários
  • 173 posts
  • Sexo:Não informado

Posted 13/01/2009, 16:16

Cara fiz aqui um sisteminha bem na base do POG, funcionou perfeitamente, se quiser esta ai:

<?
$peso = "6";

$string = "1:11.40,2:12.90,3:14.40,4:15.90,5:17.70,6:19.50,7:21.30,8:23.10,9:24.90,10:26.60,11:28.30,12:30.00,13:31.70,14:33.40,15:35";

$kgppreco = explode(",", $string);

for($i = 0;$i < count($kgppreco); $i++){
$kgpp = explode(":", $kgppreco[$i]);
if($peso == $kgpp[0]){
echo "Seu produto pesa $kgpp[0] KG, e o frete irá custar R$ $kgpp[1]";
}
}
?>

Qualquer dúvida posta ae.

Até mais.

Edição feita por: jhrebuski, 13/01/2009, 16:16.


#4 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 13/01/2009, 16:17

Acho que o melhor lugar para se aprender sobre PHP ainda é o manual

explode()

tem bastante exemplos lá.

Também pode usar a função preg_split() eu acho :ponder:

Não tentei para isso, mas uso para outras divisões de string e funciona normal.Até mais

#5 victors

victors

    Turista

  • Usuários
  • 58 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 13/01/2009, 16:38

Olá hooligans estou tentando fazer um simulador de frete, estou fazendo uns pog aqui, usei a função split

valews!

#6 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 13/01/2009, 20:13

Assim é melhor, sem explodes, splits, etc.

[codebox]
<?php
$string = "1:11.40,2:12.90,3:14.40,4:15.90,5:17.70,6:19.50,7:21.30,8:23.10,9:24.90,10:26.60,11:28.30,12:30.00,13:31.70,14:33.40,15:35";
if (preg_match('/\\b{$peso}\x3A([^,]*)/', $string, $regs))
echo "Seu frete é de R$ {$regs[1]} (para {$peso}kgs)";
else
echo "Frete não encontrado";
?>
[/codebox]

Esbocei só, não testei. Caso funcione será algo bem melhor não acham?

Caso queiram, troquem o \x3A por : (tive que fazer isto não saia um smile aqui)


[]'s

Edição feita por: savior, 13/01/2009, 20:14.

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br


#7 victors

victors

    Turista

  • Usuários
  • 58 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 14/01/2009, 12:56

valews para quem postou ae, consegui fazer usando o seguinte código:

$vet_tarifas = split("[:,]",$valores);
	
	for($i=0;$i<sizeof($vet_tarifas);$i+=2){
	
	 if($produto_peso <= $vet_tarifas[$i]){
	  $valor_tarifa = number_format($vet_tarifas[$i+1], 2, ',', ''); 
	  break;
	 }
	}

o valor do pac está pegando, agora falta fazer a parte do sedex

valews!




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq