3 ddd 1 Denunciar post Postado Julho 21, 2012 Preciso listar os produtos e links de acesso ao produto que um usuário comprou no perfil dela (uma table - html - com nome do produto, link de acesso, data de validade [qndo expira]) Exemplo: Usuário loga em seu perfil e vai no histórico de compra. Lá ele encontra a lista de produtos que ele já comprou (que estão registrados no banco de dados), data de validade para retirar produto, link de acesso ao produto. Dúvidas: A - Devo fazer uma tabela para cada produto e lá inserir os usuários que compraram o produto ou colocar campos no registro do usuário (no banco de dados) ? B - Como consigo fazer este loop ? * Se houver uma forma melhor de se fazer isto, pode falar. Obrigado. Preciso de ajuda no código/lógica porque sou novato. EU pensei em: Criar uma tabela com nome comprados. E fazer uma consulta procurando linhas que possuam o nome do usuario. Mas ai eu preciso criar uma array que receba este valores. Seria uma boa opção ? Compartilhar este post Link para o post Compartilhar em outros sites
Dexter Morgan 7 Denunciar post Postado Julho 21, 2012 cara estou fazendo isso agora, mas estou com problema para cadastrar os prudutos se tiverem mais de um, exe: se tem 3 ele cadastra apenas o ultimo, eu fiz tres tabelas: CREATE TABLE pedidos( id_pedido int(11) NOT NULL auto_increment, id_cliente int(11) NOT NULL default '0', PRIMARY KEY (id_pedido), UNIQUE KEY id (id_pedido) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE itens( id_item int(11) NOT NULL auto_increment, id_pedido int(11) NOT NULL default '0', produto varchar(255) NOT NULL default '0', quantidade int(11) NOT NULL default '0', preco double NOT NULL default '0', cores varchar(255) NOT NULL default '0', iluminaria varchar(255) NOT NULL default '0', PRIMARY KEY (id_item), UNIQUE KEY id (id_item) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE compras( id_compra int(11) NOT NULL auto_increment, id_pedido int(11) NOT NULL default '0', data date NOT NULL, status varchar(255) NOT NULL default 'Aguardando Pagamento', qtd int(11) NOT NULL default '0', valor double NOT NULL default '0', PRIMARY KEY (id_compra), UNIQUE KEY id (id_compra) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; depois disso quando o cliente acessar é só ter as tres relacionadas e exibe os produtos comprados por ele mesmo agora preciso resolver essa parte: $id_item = @mysql_result(mysql_query("SELECT id_item FROM itens ORDER BY id_item DESC"), 0, id_item)+1; $chave_cesta = @array_keys($_SESSION[cesta]); for($i = 0; $i < sizeof($chave_cesta); $i++){ $indice = $chave_cesta[$i]; mysql_query("INSERT INTO itens VALUES ('$id_item', '$id_pedido','".$_SESSION[cesta][$indice][PRODUTO]."', '".$_SESSION[cesta][$indice][QTDE]."', '".$_SESSION[cesta][$indice][PRECO]."', '".$_SESSION[cesta][$indice][CORES]."', '".$_SESSION[cesta][$indice][iLUMINARIA]."')"); } onde tem que cadastrar os produtos que estão no carrinho se tiver 10, tem que cadastrar 10 intens mas nao vai rsrsrsrsr .... Compartilhar este post Link para o post Compartilhar em outros sites
3 ddd 1 Denunciar post Postado Julho 22, 2012 @Dexter Morgan Colega você pode armazenar vários cadastros em uma unica tabela. Eu pensei no seguinte: Uma tabela com os campos nomeproduto nomeuser datainicio Então faço uma array com os dados do mysql e faço um for no php até as array acabarem. obs: Agora estou um pouco cansado, qualquer coisa depois mando o código. Compartilhar este post Link para o post Compartilhar em outros sites
Dexter Morgan 7 Denunciar post Postado Julho 22, 2012 deu certo fiz assim: $id_compra = @mysql_result(mysql_query("SELECT id_compra FROM compras ORDER BY id_compra DESC")); mysql_query("INSERT INTO compras VALUES ('$id_compra', '$id_pedido', '$data', '$status', '".$_SESSION[totalprodutos]."', '".$_SESSION[valortotal]."')"); $id_item = @mysql_result(mysql_query("SELECT id_item FROM itens ORDER BY id_item DESC")); $chave_cesta = @array_keys($_SESSION[cesta]); for($i = 0; $i < sizeof($chave_cesta); $i++){ $indice = $chave_cesta[$i]; mysql_query("INSERT INTO itens VALUES ('$id_item', '$id_pedido','".$_SESSION[cesta][$indice][PRODUTO]."', '".$_SESSION[cesta][$indice][QTDE]."', '".$_SESSION[cesta][$indice][PRECO]."', '".$_SESSION[cesta][$indice][CORES]."', '".$_SESSION[cesta][$indice][iLUMINARIA]."')"); } bom agora tudo funcionando ... acho que você agora também consegue resolver seu problema quer que eu poste os códigos completos? para o cliente usei COOKIE e para os produtos SESSION ... Compartilhar este post Link para o post Compartilhar em outros sites
3 ddd 1 Denunciar post Postado Julho 24, 2012 Dexter Morgan, n obg já resolvi. Compartilhar este post Link para o post Compartilhar em outros sites