carrinho de compra session erro

13/06/2013

0

PHP

Ola pessoal ,
Estou com uma dificuldade que minha array de session não esta adicionando mais um no caso quando eu passo o id não ta criando outro array de session se alguem pode me ajudar estou postando meu codigo aqui para me ajudar agredeço.
<?php		    	
		 session_start();

		 require_once("../BD/conn_class.php"); 
		 $conn = new conndb(); 
		 $conn->Conecta();
		
		
		
		 $sql =	'SELECT CODI,DESCRI,UNIDADE,PRECOLISTA,PESOMEDIO, EST_ATU 
		 		from estoque where PRECOLISTA > 0 and CODI= '.mysql_real_escape_string((int)$_REQUEST['id']).' GROUP BY CODI ';	
		 
		 $res = $conn->seleciona($sql);
		 $ln = mysql_fetch_assoc($res);
		 
		 $id = (int)$_REQUEST['id'];
		 
		 if(isset($_SESSION['carrinho'][$id])){
		 	$_SESSION['carrinho'] = array();
		 }
		 
		 $_SESSION['carrinho'][$id]['codigo'] = $ln['CODI'];
		 $_SESSION['carrinho'][$id]['nome']   = $ln['DESCRI'];
		 $_SESSION['carrinho'][$id]['preco']  = $ln['PRECOLISTA'];
		 $_SESSION['carrinho'][$id]['qtd'];
		 
		$acao = $_REQUEST['acao'];
		
		switch($acao){
			 case 'adicionar':
			 	//ADICIONAR NO CARRINHO
			 	
					
			 	if(isset($_REQUEST['id'])){
			 		
			 		$id = intval($_REQUEST['id']);
			 		
			 		if($_SESSION['carrinho'][$id]['qtd'] != $ln['EST_ATU']){
			 			echo 'entro aqui';
			 			$_SESSION['carrinho'][$id]['qtd'] += 1;
			 		}
			 		
			 	}
			 	
			 break;
			 
			 case 'diminuir':
			 	
			 	$id = intval($_REQUEST['id']);
			 	$_SESSION['carrinho'][$id]['qtd']--;
			 	
			 
			 break;
			 
			 case 'remover':
			 
				$id = intval($_GET['id']);
			 	if(isset($_SESSION['carrinho'][$id])){
			 		unset($_SESSION['carrinho'][$id]);
			 	}
			 
			 break;
			 
			 case 'alterarValor':
			 
			 
			 break;
			
		}
		
		echo '<pre>';
		print_r($_SESSION['carrinho']);
		
		if(count($_SESSION['carrinho']) == 0){
			echo '<div class="item">Não a produto no carrinho</div>';
		}else{
			
			foreach($_SESSION['carrinho'] as $id => $values){
				echo $id.'<br/>';
				print_r($values);
				
			}
		}



?>
Cacio Silva

Cacio Silva

Responder

Posts

13/06/2013

Cacio Silva

Ola pessoal ,
Estou com uma dificuldade que minha array de session não esta adicionando mais um no caso quando eu passo o id não ta criando outro array de session se alguem pode me ajudar estou postando meu codigo aqui para me ajudar agredeço.
<?php		    	
		 session_start();

		 require_once("../BD/conn_class.php"); 
		 $conn = new conndb(); 
		 $conn->Conecta();
		
		
		
		 $sql =	'SELECT CODI,DESCRI,UNIDADE,PRECOLISTA,PESOMEDIO, EST_ATU 
		 		from estoque where PRECOLISTA > 0 and CODI= '.mysql_real_escape_string((int)$_REQUEST['id']).' GROUP BY CODI ';	
		 
		 $res = $conn->seleciona($sql);
		 $ln = mysql_fetch_assoc($res);
		 
		 $id = (int)$_REQUEST['id'];
		 
		 if(isset($_SESSION['carrinho'][$id])){
		 	$_SESSION['carrinho'] = array();
		 }
		 
		 $_SESSION['carrinho'][$id]['codigo'] = $ln['CODI'];
		 $_SESSION['carrinho'][$id]['nome']   = $ln['DESCRI'];
		 $_SESSION['carrinho'][$id]['preco']  = $ln['PRECOLISTA'];
		 $_SESSION['carrinho'][$id]['qtd'];
		 
		$acao = $_REQUEST['acao'];
		
		switch($acao){
			 case 'adicionar':
			 	//ADICIONAR NO CARRINHO
			 	
					
			 	if(isset($_REQUEST['id'])){
			 		
			 		$id = intval($_REQUEST['id']);
			 		
			 		if($_SESSION['carrinho'][$id]['qtd'] != $ln['EST_ATU']){
			 			echo 'entro aqui';
			 			$_SESSION['carrinho'][$id]['qtd'] += 1;
			 		}
			 		
			 	}
			 	
			 break;
			 
			 case 'diminuir':
			 	
			 	$id = intval($_REQUEST['id']);
			 	$_SESSION['carrinho'][$id]['qtd']--;
			 	
			 
			 break;
			 
			 case 'remover':
			 
				$id = intval($_GET['id']);
			 	if(isset($_SESSION['carrinho'][$id])){
			 		unset($_SESSION['carrinho'][$id]);
			 	}
			 
			 break;
			 
			 case 'alterarValor':
			 
			 
			 break;
			
		}
		
		echo '<pre>';
		print_r($_SESSION['carrinho']);
		
		if(count($_SESSION['carrinho']) == 0){
			echo '<div class="item">Não a produto no carrinho</div>';
		}else{
			
			foreach($_SESSION['carrinho'] as $id => $values){
				echo $id.'<br/>';
				print_r($values);
				
			}
		}



?>
Responder

13/06/2013

Cacio Silva

ressolvido o meu if da session tinha faltado o '!'
Responder

19/06/2013

José

Tendo entendido que a duvida inicial foi solucionada, estou dando este tópico como concluído.
Fique a vontade para abrir novos tópicos.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar