Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago Paschoalin

[Resolvido] Somar valores multiplicado pelo FOREACH

Recommended Posts

Bom, quem está me acompanhando esses dias, estou montando um sistema de carrinho de compras com setcookie, e agora está 99% funcionando com eu quero, está me faltando só uma coisa, somar os valores armazenados nos diferentes cookies.

 

Para add o cookie uso:

cookieADD.php

<?
$CookieProduto = $_POST["CookieProduto"];
$RS = $_POST["ValorFinal"];
$SO = $_POST["id_g1"];
$ME = $_POST["id_g2"];
$HD = $_POST["id_g3"];
$UO = $_POST["id_g4"];
$WI = $_POST["id_g5"];
$AC = $_POST["id_g6"];
$ID = $_POST["IdDoProd"];
$Rana = rand(100, 999);
$Ranb = rand(100, 999);
$Ranc = rand(100, 999);

if ( $CookieProduto == "" )
{
setcookie("pedido[" . $Rana . $Ranb . $Ranc . $ID . "]", $RS . ";" . $ID . ";" . $SO . ";" . $ME . ";" . $HD . ";" . $UO . ";" . $WI . ";" . $AC);
}else{
setcookie("pedido[" . $CookieProduto . "]", "", time() - 3600);
setcookie("pedido[" . $Rana . $Ranb . $Ranc . $ID . "]", $RS . ";" . $ID . ";" . $SO . ";" . $ME . ";" . $HD . ";" . $UO . ";" . $WI . ";" . $AC);
}
header("Location: minhaconta.php");
?>

Para listar os cookies:

minhaconta.php

if ( isset($_COOKIE['pedido']) )
{
  foreach ( $_COOKIE['pedido'] as $CooPedido => $CooValor )
  {
	$Listar = split(";", $CooValor);
	echo ("<font size='4'>Pedido[" . $CooPedido . "]: <Br></font>");
	echo ("• Só Id: " . Esquerda($CooPedido, 3) . "<br>");
	echo ("• R$: " . $Listar[0] . "<Br>");
	echo ("• Id: " . $Listar[1] . "<Br>");
	echo ("• SO: " . $Listar[2] . "<br>");
	echo ("• ME: " . $Listar[3] . "<Br>");
	echo ("• HD: " . $Listar[4] . "<Br>");
	echo ("• UO: " . $Listar[5] . "<Br>");
	echo ("• WI: " . $Listar[6] . "<br>");
	echo ("• AC: " . $Listar[7] . "<br><Br><Br>");
  }
}else{
	echo ("Nenhum pedido efetuado.");
}

Agora o que eu preciso ? Tenho que pegar todos os valores de todos os possiveis pedidos e passar um VALOR TOTAL

 

O preço de cada pedido está sendo chamado pela string ( $Listar[0] )

 

Como eu consigo somar esses valores $Listar[0] dentro do FOREACH e passar um VALOR FINAL ??????

 

Grato desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, consegui resolver !!!!

 

Dentro do FOREACH onde eu mostro os cookie, fiz uma pequena função, para somar o valor $Listar[0], e depois EM QUALQUER LUGAR do site, mostro o resultado da função e assim mostrando o preço TOTAL !

 

// Função para formatar valores monetários:
function RetornaValor($x){
$x = ltrim( $x, "0" );//APAGA OS ZEROS DA ESQUERDA
$tamanho = strlen($x); //PEGA O NÚMERO DE CARACTERES DA STRING
$tamanho = $tamanho - 2; //TIRO OS 2 ZEROS DA CASA DECIMAL (centavos)
$valor = substr($x, 0, $tamanho); //SELECIONO O VALOR SEM A CASA DECIMAL
$valor = number_format($valor, 2, ",", "." );
return $valor;



if ( isset($_COOKIE['pedido']) ){

  foreach ( $_COOKIE['pedido'] as $CooPedido => $CooValor ){

	$PegaDados = split(";", $CooValor);

	  if ( $_POST["Xquantos" . $CooPedido . ""] == "" ){ $Quantidade = 1; }else{ $Quantidade = $_POST["Xquantos" . $CooPedido . ""]; }

	  echo ("<input name='Quantos" . $CooPedido . "' type='hidden' value='" . $Quantidade . "' />");

	  // ESSA É A FUNÇÃO QUE FIZ !
	  $tgp = $PegaDados[0];
		for($i = 0; $i < count($PegaDados[0]); $i++)
		{
		$contar = $tgp * $Quantidade;
		$soma = $soma + $contar;
		}

	}	
}

// DEPOIS RETORNO O VALOR EM QUALQUER LUGAR:
echo (" Valor total: R$ " . RetornaValor($soma) . "");

Fica ai para quem tiver alguma dúvida parecida sobre Somar um resultado final dentro do FOREACH

 

Abraços.

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.