Carlos Rocha Posted December 8, 2012 Report Share Posted December 8, 2012 (edited) Gostaria de saber se isso é possível.while(list( $codigo, $quantidade, $tamanho, $cor, $codigo_estoque, $desconto, $preço, $estoque ) = $_SESSION["MeuCarrinho"]) { echo $código; ... } Caso não seja, queria saber tem recurso A saida da sessão é: TCarrinho Object ( [item_codigo] => Array ( [0] => 18 [1] => 18 ) [item_quantidade] => Array ( [0] => 1 [1] => 1 ) [item_tamanho] => Array ( [0] => 2 [1] => 1 ) [item_cor] => Array ( [0] => 1 [1] => 2 ) [item_codigo_estoque] => Array ( [0] => 132 [1] => 100 ) [item_desconto] => Array ( [0] => 12 [1] => 12 ) [item_preco] => Array ( [0] => 2.0504 [1] => 2.0504 ) )A ideia aqui é um carrinho de compras simples aonde ao invés de fazer busca no banco para saber os valores do produto, grava-los todos na sessão.Deu certo. Mas agora não estou sabendo como recuperá-los para exibir os valores no carrinhoGrato a quem puder ajudar Edited December 8, 2012 by Carlos Rocha Quote Link to comment Share on other sites More sharing options...
0 Carlos Rocha Posted December 9, 2012 Author Report Share Posted December 9, 2012 (edited) Consegui da forma abaixo:<?php $preco_total=0.00; for ($i=0;$i<$_SESSION["MeuCarrinho"]->QuantosItens();$i++) { $preco_total = $preco_total + $_SESSION["MeuCarrinho"]->item_preco[$i]; $codigo_produto=$_SESSION["MeuCarrinho"]->item_codigo[$i]; $quantidade_produto=$_SESSION["MeuCarrinho"]->item_quantidade[$i]; $codigo_tamnho=$_SESSION["MeuCarrinho"]->item_tamanho[$i]; $codigo_cor=$_SESSION["MeuCarrinho"]->item_cor[$i]; $codigo_estoque=$_SESSION["MeuCarrinho"]->item_codigo_estoque[$i]; $desconto_percentual=$_SESSION["MeuCarrinho"]->item_desconto[$i]; $preco_com_desconto=$_SESSION["MeuCarrinho"]->item_preco[$i]; .. Agora, preciso arranjar um forma de, a cada produto adicionado ao carrinho, na própria classe carrinho, criar uma função que somasse os valores dos produtos. Tentei da forma abaixo mas não deu certo: <?php /* Classe TCarrinho */ class TCarrinho { var $item_codigo = array(); var $item_quantidade = array(); var $item_tamanho = array(); var $item_cor = array(); var $item_codigo_estoque = array(); var $item_desconto = array(); var $item_preco = array(); var $TotalNota=0.00; ............... function ObtemTotalNota() { $TotalNota=$TotalNota+($this->$item_preco*$this->$item_quantidade); return $TotalNota; } ............. } Dá erro de servidor Também tentei assim mas não deu certo function ObtemTotalNota() { //Inicializando parametro $posicao = -1; $achou = $this->ObtemPosicao($this->item_codigo_estoque,$posicao); if ($achou){ $TotalNota=$TotalNota+($this->$item_preco*$this->$item_quantidade); return $TotalNota; } }O que será que esta errado? Edited December 9, 2012 by Carlos Rocha Quote Link to comment Share on other sites More sharing options...
0 Carlos Rocha Posted December 9, 2012 Author Report Share Posted December 9, 2012 Bom, acho que conseguifor ($i=0;$i<$_SESSION["MeuCarrinho"]->QuantosItens();$i++) { $preco_total = $preco_total + $_SESSION["MeuCarrinho"]->item_preco[$i]; $codigo_produto=$_SESSION["MeuCarrinho"]->item_codigo[$i]; $quantidade_produto=$_SESSION["MeuCarrinho"]->item_quantidade[$i]; ......Agora uma ultima coisa:Nesse for, terei o código do produto, a cor e o tamanho dentre outras. Isso significa que poderei ter para um mesmo produto, vários lançamentos dependendo da combinação cor/tamanho.Nesse caso, como faço para conseguir nesse loop for, quando trocar o código do produto, criar duas linhas em branco para separar do produto de baixo? Quote Link to comment Share on other sites More sharing options...
0 Carlos Rocha Posted December 9, 2012 Author Report Share Posted December 9, 2012 Também já consegui.Agora só me falta resolver o seguinte:Estou obtendo o erro abaixo quando adiciona uma variável a mais na classe Carrinho,Notice: Use of undefined constant real - assumed 'real' in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\php\flavio\chinelospuff.com.br\representantes\carrinho_conteudo.php on line 5 Acho que é por causa da forma que estou declarando ela;<?php error_reporting(E_ALL); /* Classe TCarrinho */ class TCarrinho { var $item_codigo = array(); var $item_quantidade = array(); var $item_tamanho = array(); var $item_cor = array(); var $item_codigo_estoque = array(); var $item_desconto = array(); var $item_preco = array(); var $TotalNota = real; ........ Essa aqui: var $TotalNota = real;Ela não é array. Ela é do tipo moeda, real.Como fazer essa declaração de forma a não obter esse erro? Quote Link to comment Share on other sites More sharing options...
0 blew Posted December 10, 2012 Report Share Posted December 10, 2012 quando se trata de valores, então use double ou float Quote Link to comment Share on other sites More sharing options...
Question
Carlos Rocha
Gostaria de saber se isso é possível.
Caso não seja, queria saber tem recurso A saida da sessão é:A ideia aqui é um carrinho de compras simples aonde ao invés de fazer busca no banco para saber os valores do produto, grava-los todos na sessão.
Deu certo. Mas agora não estou sabendo como recuperá-los para exibir os valores no carrinho
Grato a quem puder ajudar
Edited by Carlos RochaLink to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.