Ir para conteúdo

POWERED BY:

Arquivado

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

look4game

Peso no Carrinho de Compras mal Calculado

Recommended Posts

Para cada produto tenho um peso, para que seja possível calcular o preço dos portes. O problema é que ele n me calcula o peso direito. Adicionei um produto que pesa 1Kg e outro que pesa 0,2Kg, e obtive um total de 0,2Kg. Adicionei 3 produtos que pesam 1Kg e obtive 6Kg :huh:

 

Presumo que o erro esteja aqui:

 

PHP [/tr][tr]$this->peso += $this->items[$produto->id] * $produto->peso;[/tr]

 

... aqui fica a função que calcula o total inteira ...

 

PHP [/tr][tr] function calcular_total() {

 

$this->subtotal = 0;

$this->portes = 0;

 

$in_clause = $this->lista_idprodutos();

if (empty($in_clause)) {

return;

}

 

$qid = db_query("SELECT id, preco, peso FROM produtos WHERE id IN ($in_clause)");

while ($produto = db_fetch_object($qid)) {

$this->subtotal += $this->items[$produto->id] * $produto->preco;

$this->peso += $this->items[$produto->id] * $produto->peso;

}

 

}

[/tr]

 

Poderiam-me ajudar sff?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grava o id do produto e quantidade só na session, se for session q tiver usando e depois na parte de calcular, resgata do banco de dados os produtos com base na id e ai calcula, apenas um modo.Flwwwwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, estou a usar session, mas não compreendi bem o que fazer.

 

Tentei o seguinte, mas não funcionou, n sei se falavas mais ou menos disto:

 

PHP [/tr][tr]while ($prod = db_fetch_object($qid)) {

$quantidade = $SESSION["carrinho"]->items[$prod->id];

$total = $prod->preco * $quantidade;

$pesototal = $prod->peso * $quantidade

[/tr]

 

.. e depois devia somar o pesototal de cada série de produtos, e só aí ultiplicava pelo valor dos portes, certo? Mas como fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido... bastou criar uma nova função:

 

PHP [/tr][tr] function calcular_peso() {

 

$this->peso = 0;

 

$in_clause = $this->lista_idprodutos();

if (empty($in_clause)) {

return;

}

 

$qid = db_query("SELECT id, peso FROM produtos WHERE id IN ($in_clause)");

while ($produto = db_fetch_object($qid)) {

$this->peso += $this->items[$produto->id] * $produto->peso;

}

 

}

[/tr]

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.