Ir para conteúdo

Arquivado

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

Kelven

Id carrinho de compras

Recommended Posts

olha ai,

quando eu adiciono um produto ele mostra isso,

 

ID PRODUTO:6

RESULTADO FINAL COOKIE:4,6

 

e quando eu adiciono outro produto ele mostra isso

 

ID PRODUTO:6

RESULTADO FINAL COOKIE:4,5

 

 

ele ta é substituindo a id do produto.

 

Olha o modo que eu queria fazer o carrinho, era assim:

 

Que a partir do momento que a pessoa adicionasse o primeiro produto ao carrinho que gerasse um ID, que esse ID fosse para o banco de dados "carrinho", que la estaria os seguintes campos, "id_carrinho", "id_produto", "nome_produto", e nesses campos fosse adicionado a id do carrinho que foi gerada a id do produto que adicionou e o nome do produto que adicionou, ai essa ID do carrinho teria que ser salva no cookie de forma que se a ID do carrinho existir ele não precise criar outra id e o carrinho mostre todos os produtos que estão ali baseado na ID que está salva no cookie, pois sera feita uma pesquisa no banco de dados do carrinho pela ID do cookie.

 

O problema é que eu não to encontrando uma forma de gerar essa ID, porque tem que ser uma ID diferente se não, se duas pessoas estiverem fazendo compras e a id for igual vai mostrar os mesmos produtos para as duas pessoas, por isso que é preciso gerar essa ID, vocÊ entendeu?

 

Como é que eu posso fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente trocar COOKIE por SESSION para testar. Não estou acostumado a trabalhar com cookies, pode ser que haja algum detalhe que não esteja passando por minha cabeça.

A princípio tá tudo certo.

 

Estude o código, tente aprimorá-lo, tente ver onde a variável está se perdendo.

 

Até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

HAX0R,

 

 

Esse código funciona. Basta melhor o código e posta para a pessoal.

Index.php

<?php
session_start();
?>
<html>
<head>
<title>Teste Carrinho</title>
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
-->
</style></head>

<body>
<table width="773"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><img src="topo.gif" width="773" height="100"></td>
  </tr>
  <tr>
    <td> <br>
    <table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td align='center'><font face='Arial' size='4'><b>Carrinho de compras</b></font></td>
      </tr>
    </table>
    <br>
    <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td><font face='Arial' size='2'>Confira abaixo, os produtos disponíveis no site:</font> </td>
      </tr>
    </table>
    <br>    
	<form name="frmcarrinho" method="post" action="carrinho.php">       
	   <table width="90%"  border="0" align="center" cellpadding="0" cellspacing="0"> 
       <tr>
<?php	  
		
//ABRE A CONEXAO AO BANCO DE DADOS
include("conexao.php");

 
//EXIBE OS PRODUTOS
 $sql = "SELECT * FROM produto WHERE estoque > 0 AND preco_venda > 0";
 $res = mysql_query($sql);
   
//TOTAL DE PRODUTOS POR LINHA
$total = 2;
 
while ($linha = mysql_fetch_array($res)){

$id = $linha[0];
$nome = $linha[1];
$imagem = $linha[2];
$preco = $linha[7];
$estoque = $linha[9];

//VERIFICA A IMAGEM DO PRODUTO
if (!isset($imagem)) {
	$img = "sem_foto.jpg";
} else {
	$img = $imagem;
}

//VERIFICA TOTAL DE PRODUTOS POR LINHA
	       if($total == $atual) {
		      echo "</tr><tr>";
			  $atual = 0;
		   } 
 
?>        
		   
          <td width="14%" height="100"><img src="produtos/<?php echo $img;?>" width="80" height="80" border="1"></td>
          <td width="36%">		  
		  <table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
             <td><font face='Arial' size='1'><?php echo $nome; ?></font></td>
          </tr> 
	    <tr>
             <td><font face='Arial' size='1'>ESTOQUE = <b><?php echo $estoque; ?></b></font></td>
          </tr>
	    <tr>
             <td><font face='Arial' size='1' color="#FF0000">R$ <?php echo $preco; ?></font></td>
          </tr>          
	    <tr>
            <td><a href='carrinho.php?id=<?=$id;?>&acao=incluir'><img src='carrinho.gif' border='0'/></a>
		</td>
          </tr>
          	   </table>
	    </td>
<?php

//SOMA 1 A VARIÁVEL CONTROLADORA
	      $atual++;

	   }//FECHA WHILE
		
//FECHA A CONEXÃO DO BANCO DE DADOS
	mysql_close($conn);
?>
       </tr>
       </table>   
    </form></td>
  </tr>
  <tr>
    <td><img src="rodape.gif" width="773" height="20"></td>
  </tr>
</table>
</body>
</html>
carrinho.php

<?php 

session_start(); 

if(!isset($_SESSION['carrinho'])){  
	$_SESSION['carrinho'] = array();  
      	} 
           
//ADICIONA PRODUTO 
	if(isset($_GET['acao'])){ 
                  
//ADICIONAR CARRINHO
	if($_GET['acao'] == 'incluir'){ 
      $id = intval($_GET['id']);
		if(!isset($_SESSION['carrinho'][$id])){ 
            $_SESSION['carrinho'][$id] = 1;
	}else{
		$_SESSION['carrinho'][$id] = 1; 
}
	} 

//REMOVER CARRINHO
	if($_GET['acao'] == 'del'){
	$id = intval($_GET['id']); 
     		if(isset($_SESSION['carrinho'][$id])){						
      	unset($_SESSION['carrinho'][$id]);				
										
}
	}
 		
//ALTERAR QUANTIDADE
	if($_GET['acao'] == 'up'){ 
      	if(is_array($_POST['prod'])){ 
            foreach($_POST['prod'] as $id => $qtd){ 
            $id  = intval($id); 
            $qtd = intval($qtd);		
		if(!empty($qtd) || $qtd > 0){ 
                  $_SESSION['carrinho'][$id] = $qtd; 
                  }else{ 
                  unset($_SESSION['carrinho'][$id]); 
 } 
 	} 
      	} 
            	} 
				}// fecha if acao           
           
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>Carrinho de compras</title>
<script type="text/javascript">
<!--

function mudar(x,y){
x.style.backgroundColor=y;
}

//-->
</script>

</head> 
 
<body> 
 
<table align="center" border="1"> 
  <caption>Carrinho de Compras</caption> 
        <thead> 
                        <tr> 
                                <th width="244" bgcolor="#0066FF">Produto</th> 
                                <th width="79" bgcolor="#0066FF">Qtde</th> 
                                <th width="89" bgcolor="#0066FF">Preço</th> 
                                <th width="100" bgcolor="#0066FF">Subtotal</th> 
                                <th align="center" colspan="2" width="64" bgcolor="#0066FF">Botões</th> 
                        </tr> 
        </thead> 
         
        <form action="?acao=up" method="post"> 
                         
        <tfoot> 
                        <tr>
				<td colspan="2"><a href="index.php"><img src="comprando.jpg" border="0"></a></td>
				<td align="right" colspan="4"><a href="fecha_pedido.php"><img src="pagar.jpg" border="0"></a></td>
				</tr> 
        </tfoot> 
         
        <tbody> 

 <?php 
                                                 
                                                if(count($_SESSION['carrinho']) == 0){ 
                                                        echo '<tr><td align="center" colspan="5">Não há produto no carrinho</td></tr>';	
								        //Limpa carrinho									  
									  unset($_SESSION['carrinho']);	 
                                                }else{ 
                                                        require("conexao.php");
									  $Cor == "";									  	
									  foreach($_SESSION['carrinho'] as $id => $qtd){
								        if ($Cor == "#FFFFFF") $Cor = "#ECF2F8"; else $Cor = "#FFFFFF";              
										            $sql   = "SELECT * FROM produto WHERE cod_produto= '$id'"; 
                                                                        $res   = mysql_query($sql) or die(mysql_error()); 
                                                                        $linha = mysql_fetch_array($res); 

                                                                        //Pega os dados da consulta
                                                                        $nome  = $linha['nome_produto']; 
                                                                        $preco = number_format($linha['preco_venda'], 2, ',', '.'); 
                                                                        $sub   = $linha['preco_venda'] * $qtd; 
                                                                 														
                                                                        //$total += $sub; 
                                                                        $total += $sub;  
                                                                         
                                                               echo ' <tr bgcolor='.$Cor.' onmouseover=\'mudar(this,"#FFE2CC");\' onmouseout=\'mudar(this,"' . $Cor . '");\'> 
                                                                                <td><font face="Arial" size="1">'.$nome.'</font></td> 
                                                                                <td align="center"><font face="Arial" size="1"><input type="text" size="4" maxlength="4" name="prod['.$id.']" value="'.$qtd.'" /></font></td> 
                                                                                <td align="right"><font face="Arial" size="1">R$ '.$preco.'</font></td> 
                                                                                <td align="right"><font face="Arial" size="1">R$ '.$sub.'</font></td>
													  <td align="center"><input type="image" name="atualizar" src="alterar.gif" width="16" border="0" height="16" alt="Atualiza Carrinho"/></td> 
                                                                                <td align="center"><a href="?acao=del&id='.$id.'"><img src="remover.gif" width="16" border="0" height="16" alt="Excluir"></a></td> 
 
                                                                       </tr>'; 
										                                                                                 
                                                        } 
                                                                $total = number_format($total,2, ',','.'); 
                                                                echo '<tr> 
                                                                                        <td align="center" colspan="3"><font face="Arial" size="3"><b>Total no Carrinho</b></td> 
                                                                                        <td align="center" colspan="3"><font face="Arial" size="3"><b>R$ '.$total.'</b></td> 
                                                                      </tr>'; 
										   mysql_close($conn);                                                
} 											
?>         
                 
         
        </tbody> 
  </form> 
                 
</table>                 
</body> 
</html>

Um abraço.

 

 

Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara mas será que tem como fazer do jeito que eu falei?

 

Acho que descobri um jeito,

é pegando a ID do computador,

qual é o comando que pega a id do computador, eu posso usar isso e armazenar o arquivo em uma variavel?

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.