Paulo Jorge Posted July 13, 2012 at 09:54 AM Report #468546 Posted July 13, 2012 at 09:54 AM A minha tabela deixou de funcionar, não aparecendo os detalhes dos produtos nem conseguindo eliminar produtos já olhei para todos os lados do código mas deve-me estar a falhar alguma coisa alguém me pode dar uma ajuda ? Abaixo deixo o código do meu carrinho <?php session_start(); if ($_SESSION['Utilizador']<>"") { ?> <!DOCTYPE html> <!-- Template by freewebsitetemplates.com --> <html> <head> <script type="text/javascript"> function confirmation() { var answer = confirm("Deseja Confirmar ?") if (answer){ window.location = "pagar.php"; } else{ window.location = "carrinho.php"; } } </script> <meta charset="utf-8" /> <title>Inforbew</title> <link rel="stylesheet" type="text/css" href="style.css" media="all" /> <style type="text/css"> <!-- .style7 { font-family: Arial, Helvetica, sans-serif; font-size: 24cm; } .style8 {font-size: x-large} .style13 {font-size: smaller} .style16 {font-size: medium} .style18 { font-family: Arial, Helvetica, sans-serif; color: #00FFFF; font-weight: bold; } --> </style> </head> <body> <div id="header"> <div id="logo"> <a href="index.php"><img src="images/infor.jpg" alt="" width="350" /></a> </div> <ul> <li><a href="logout.php"><span>logout</span></a></li> <li><a href="Conta.php">Conta </a></li> <li class="selected"><a href="carrinho.php">Carrinho</a></li> <li><a href="produtos.php"><span>Produtos</span></a></li> <li><a href="contactos.php"><span>Contactos</span></a></li> </ul> </div> <?php // Iniciamos nossa sess?o que vai indicar o usu?rio pela session_id $conexao = mysql_connect("localhost", "root", ""); if (!$conexao) { die('N?o foi poss?vel conectar: ' . mysql_error()); } //serve para reconhecer os caracteres especiais header('Content-Type: text/html; charset=utf-8'); mysql_query("SET NAMES 'utf8'"); mysql_query('SET character_set_connection=utf8'); mysql_query('SET character_set_client=utf8'); mysql_query('SET character_set_results=utf8'); //leitura de uma tabela na base de dados $select = mysql_select_db("inforbew", $conexao); if (!$select) { die ('N?o ? poss?vel utilizar a Bade de Dados ?inforbew?: ' . mysql_error()); } // Recuperamos os valores passados por parametros if (isset ($_GET['acao'])) $acao = $_GET['acao']; else $acao = ''; if (isset($_GET['cod'])) $cod = $_GET['cod']; // Verificamos se a acao ? igual a incluir if ($acao == "incluir") { // Verificamos se cod do produto ? diferente de vazio if ($cod != '') { // Se for diferente de vazio verificamos se ? num?rico if (is_numeric($cod)) { // Tratamos a variavel de caracteres indevidos $cod = addslashes(htmlentities($cod)); // Verificamos se o produto referente ao $cod j? est? no carrinho para o session id correnpondente $query_rs_carrinho = "SELECT * FROM carrinho WHERE carrinho.cod = '".$cod."' AND carrinho.sessao = '".session_id()."'"; $rs_carrinho = mysql_query($query_rs_carrinho, $conexao) or die(mysql_error()); $row_rs_carrinho = mysql_fetch_assoc($rs_carrinho); $totalRows_rs_carrinho = mysql_num_rows($rs_carrinho); // Se o total for igual a zero ? sinal que o produto ainda n?o est? no carrinho if ($totalRows_rs_carrinho == 0) { // Aqui pegamos os dados do produto a ser incluido no carrinho $query_rs_produto = "select * from artigos where PK_Cod_Artigo = '".$cod."'"; $rs_produto = mysql_query($query_rs_produto, $conexao) or die(mysql_error()); $row_rs_produto = mysql_fetch_assoc($rs_produto); $totalRows_rs_produto = mysql_num_rows($rs_produto); // Se total for maior que zero esse produto existe e ent?o podemos incluir no carrinho if ($totalRows_rs_produto > 0) { $registro_produto = mysql_fetch_assoc($rs_produto); // Incluimos o produto selecionado no carrinho de compras $add_sql = "INSERT INTO carrinho (id, cod, nome, Preco, qtd, sessao) VALUES ('','".$row_rs_produto['PK_Cod_Artigo']."','".$row_rs_produto['nome']."','".$row_rs_produto['preco']."','1','".session_id()."')"; $rs_produto_add = mysql_query($add_sql, $conexao) or die(mysql_error()); $registro_produto = mysql_fetch_assoc($rs_produto); // Verificamos se o produto referente ao $cod j? est? no carrinho para o session id correnpondente $query_rs_carrinho = "SELECT * FROM carrinho WHERE carrinho.cod = '".$cod."' AND carrinho.sessao = '".session_id()."'"; $rs_carrinho = mysql_query($query_rs_carrinho, $conexao) or die(mysql_error()); $row_rs_carrinho = mysql_fetch_assoc($rs_carrinho); $totalRows_rs_carrinho = mysql_num_rows($rs_carrinho); // Se o total for igual a zero ? sinal que o produto ainda n?o est? no carrinho if ($totalRows_rs_carrinho > 0) { // Aqui pegamos os dados do produto a ser incluido no carrinho $query_rs_cliente = "select * from clientes where PK_Cod_Cliente = '".$_SESSION['id']."'"; $rs_cliente = mysql_query($query_rs_cliente, $conexao) or die(mysql_error()); $row_rs_cliente = mysql_fetch_assoc($rs_cliente); $totalRows_rs_cliente = mysql_num_rows($rs_cliente); } } } } } } // Verificamos se a acao ? igual a excluir if ($acao == "pagar") { echo "<SCRIPT LANGUAGE='javascript'>confirmation();</SCRIPT>"; } // Verificamos se a acao ? igual a excluir if ($acao == "excluir") { // Verificamos se cod do produto ? diferente de vazio if ($cod != '') { // Se for diferente de vazio verificamos se ? num?rico if (is_numeric($cod)) { // Tratamos a variavel de caracteres indevidos $cod = addslashes(htmlentities($cod)); // Verificamos se o produto referente ao $cod est? no carrinho para o session id correnpondente $query_rs_car = "SELECT * FROM carrinho WHERE cod = '".$cod."' AND sessao = '".session_id()."'"; $rs_car = mysql_query($query_rs_car, $conexao) or die(mysql_error()); $row_rs_carrinho = mysql_fetch_assoc($rs_car); $totalRows_rs_car = mysql_num_rows($rs_car); // Se encontrarmos o registro, excluimos do carrinho if ($totalRows_rs_car > 0) { $sql_carrinho_excluir = "DELETE FROM carrinho WHERE cod = '".$cod."' AND sessao = '".session_id()."'"; $exec_carrinho_excluir = mysql_query($sql_carrinho_excluir, $conexao) or die(mysql_error()); } } } } // Verificamos se a a??o ? de modificar a quantidade do produto if ($acao == "modifica") { $quant = $_POST['qtd']; // Se for diferente de vazio verificamos se ? num?rico if (is_array($quant)) { // Aqui percorremos o nosso array foreach($quant as $cod => $qtd) { // Verificamos se os valores s?o do tipo numeric if(is_numeric($cod) && is_numeric($qtd)) { // Fazemos nosso update nas quantidades dos produtos $sql_modifica = "UPDATE carrinho SET qtd = '$qtd' WHERE cod = '$cod' AND sessao = '".session_id()."'"; $rs_modifica = mysql_query($sql_modifica, $conexao) or die(mysql_error()); } } } } ?> <div align="center"> </div> <form action="carrinho.php?acao=modifica" method="post"> <table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <th width="36%" scope="col"><div align="left">PRODUTO</div></th> <th width="22%" scope="col">PREçO</th> <th width="13%" scope="col">QUANTIDADE</th> <th width="14%" scope="col">SUBTOTAL</th> <th width="15%" scope="col"></th> </tr> <?php $sql_meu_carrinho = "SELECT * FROM carrinho WHERE sessao = '".session_id()."' ORDER BY nome ASC"; $exec_meu_carrinho = mysql_query($sql_meu_carrinho, $conexao) or die(mysql_error()); $qtd_meu_carrinho = mysql_num_rows($exec_meu_carrinho); if ($qtd_meu_carrinho > 0) { $soma_carrinho = 0; while ($row_rs_produto_carrinho = mysql_fetch_assoc($exec_meu_carrinho)) { $soma_carrinho += ($row_rs_produto_carrinho['Preco']*$row_rs_produto_carrinho['qtd']); ?> <tr> <td><span class="style3"> <?php=$row_rs_produto_carrinho['nome']?> </span></td> <td><div align="center" class="style3"><?php= number_format($row_rs_produto_carrinho['Preco'],2,",","."); ?></div></td> <td><div align="center" class="style3"><input type"text" size="2" name="qtd[<?php=$row_rs_produto_carrinho['cod']?>]" value="<?php=$row_rs_produto_carrinho['qtd']?>" /></div></td> <td><div align="center" class="style3"><?php= number_format($row_rs_produto_carrinho['Preco']*$row_rs_produto_carrinho['qtd'],2,",","."); ?></div></td> <td><div align="center"><a href="carrinho.php?cod=<?php=$row_rs_produto_carrinho['cod']?>&acao=excluir"><img src="imgs/del_carrinho.jpg" width="110" height="21" border="0" /></a></div></td> </tr> <?php } } ?> <tr> <td colspan="3"><div align="right"><strong>TOTAL:</strong> </div> <div align="right"></div> <div align="right"></div></td> <td><div align="center" class="style3 style4"> <?php= number_format($soma_carrinho,2,",","."); ?></div></td> <td> </td> </tr> <tr> <td colspan="5"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <th width="33%" height="60" scope="col"><span class="style3"><a href="produtos.php"><img src="imgs/ver produtos.png" width="287" height="40" border="0" /></a></span></th> <th width="33%" height="60" scope="col"><span class="style3"><a href="carrinho.php?cod=<?php=$row_rs_produto_carrinho['cod']?>&acao=pagar"><img src="imgs/encomenda.png" width="287" height="40" border="0" /></a></span></th> <th width="34%" scope="col"><label><input type="image" name="imageField" src="imgs/actualizarc.png" /> </label></th> </tr> </table></td> </tr> </table> </form> </body> <?php } ?> </html>
laeknishendr Posted July 13, 2012 at 10:38 PM Report #468640 Posted July 13, 2012 at 10:38 PM Você já verificou no banco de dados se está tudo ok com a tabela?
HappyHippyHippo Posted July 15, 2012 at 09:51 AM Report #468688 Posted July 15, 2012 at 09:51 AM estás a guardar registos associados a uma sessão na base de dados ??? se eu fechar o browser e voltar novamente não só não vou ver os itens nenhuns como só vou encher a base de dados com lixo da sessão anterior ... associa simplesmente ao utilizador e caso não exista autenticação cria cookies ou outro método IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now