Kelven 1 Denunciar post Postado Setembro 21, 2010 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
Matheus Tavares 167 Denunciar post Postado Setembro 21, 2010 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
alissong 1 Denunciar post Postado Setembro 22, 2010 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
Kelven 1 Denunciar post Postado Setembro 23, 2010 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