Carlos Rocha Postado Dezembro 8, 2012 Denunciar Share Postado Dezembro 8, 2012 (editado) 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 Editado Dezembro 8, 2012 por Carlos Rocha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Dezembro 9, 2012 Autor Denunciar Share Postado Dezembro 9, 2012 (editado) 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? Editado Dezembro 9, 2012 por Carlos Rocha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Dezembro 9, 2012 Autor Denunciar Share Postado Dezembro 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Dezembro 9, 2012 Autor Denunciar Share Postado Dezembro 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 blew Postado Dezembro 10, 2012 Denunciar Share Postado Dezembro 10, 2012 quando se trata de valores, então use double ou float Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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
Editado por Carlos RochaLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.