Leandromx 0 Denunciar post Postado Setembro 18, 2008 Boa noite pessoal Estou usando um carrinho de compras, está funcionando, ai preciso pegar os dados que estão sendo gravados na tabela carrinho e gerar um pedido.. Até ai tudo bem, dou um jeito e até gravo os produtos na tabela pedido. Ai esta o probleam eu preciso mesmo é gravar o pedido e gerar o número do pedido, por exemplo. Comprei (números são quantidades) 3- Mp3 1 - Impressora 5 - teclado 8 - Mouse Eles estão gravados na tabela carrinho através de uma sessão... Ai preciso pegar os dados e gerar o pedido número 300 por exemplo. Ai é isso que não estou conseguindo chegar, gerar o número do pedido para esses produtos.. porque ai quando eu entrar no pedido 300 eu tenho que ver esses produtos ai. Alguém pode dar uma força de como proceder? Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Setembro 18, 2008 Bom você pode tentar várias formas de combinação para gerar número de pedido: letras, numeros, uma mistura de data,hora,id do cliente, você ainda pode pegar o ultimo id da tabela pedido e somar mais um. Enfim você pode fazer uma funcao randomica com esses dados e gerar o numero do pedido, se quiser algo mais complicado para o usuario entender numero de pedidos. Depois você passa este numero por session, get... Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Setembro 18, 2008 Bom você pode tentar várias formas de combinação para gerar número de pedido: letras, numeros, uma mistura de data,hora,id do cliente, você ainda pode pegar o ultimo id da tabela pedido e somar mais um. Enfim você pode fazer uma funcao randomica com esses dados e gerar o numero do pedido, se quiser algo mais complicado para o usuario entender numero de pedidos. Depois você passa este numero por session, get... Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Setembro 18, 2008 Então é ai que estou me perdendo Como pegar todos esse produtos e gerar um número de pedido? Eu tenho a Tabela carrinho e fiz uma chamada PEDIDOS Como fazer pegar os produtos e gerar um número de pedido em sequencia? Tipo eu tenho o pedido 300 ai o próximo pedido é o 301 e assim por diante.. É isso que naõ estou conseguindo pensar, eu pegos os produtos jogo na tabela pedidos e ......??? Alguém pode me dar uma luz? Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo_DaNaDao 0 Denunciar post Postado Setembro 18, 2008 qual o banco? é só falar que a chave primaria é "sequence" ou "auto increment" Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Setembro 18, 2008 Eu uso em cadastro de produtos, pq sei só é realizado por um funcionário então não há perigo de ter o mesmo id, mas se no seu caso tiver mais um cadastro que possa ser simultaneo sugiro outra solução: $sql = mysql_query("SELECT id FROM pedidos ORDER BY id DESC LIMIT 1"); $mostrar = mysql_fetch_assoc($sql); $nid=$mostrar["id"]; $nid++; Dai você insere os produtos e o número do pedido INSERT INTO pedidos (pedido,quant,produto,...) VALUES ('$nid',...) Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Setembro 18, 2008 É assim não estou conseguindo explicar... Vamos lá.. Tabela carrinho CREATE TABLE `tabela_carrinho` ( `id` int(11) NOT NULL auto_increment, `cod` int(11) NOT NULL default '0', `nome` varchar(150) NOT NULL default '', `preco` double(10,2) NOT NULL default '0.00', `qtd` int(11) NOT NULL default '0', `sessao` text NOT NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=43; Depois tenho a tabela pedidos.. CREATE TABLE `pedidos` ( `id_pedido` int(11) NOT NULL auto_increment, `id_cliente` varchar(30) NOT NULL default '', `quantidade` varchar(50) NOT NULL default '', `id_produto` varchar(30) NOT NULL default '', `data_pedido` date NOT NULL default '0000-00-00', `observacao` text, PRIMARY KEY (`id_pedido`) ) TYPE=MyISAM AUTO_INCREMENT=1; Ai comprei INSERT INTO `tabela_carrinho` VALUES (18, 2, 'Computador HP', 1400.00, 1, '7c6e3c9b015eee12b4fd85e5be8cc0bb'); INSERT INTO `tabela_carrinho` VALUES (27, 4, 'Gravador de DVD', 329.00, 1, '3d9855efc2fc99c7c0f1632f6040e5e6'); INSERT INTO `tabela_carrinho` VALUES (28, 1, 'Notebook HP 2160br', 5450.00, 8, '545f1d8872f549067de15a8d04846602'); Minha dúvida que não estou conseguind pensar como fazer... Eu pego os dados do carrinho e monto um pedido, ou seja jogo na tabela pedido certo? Ai que não consigo 'enxergar', ou não estou entendendo mesmo... Como vou saber que esses produtos é do cliente JOÃO do pedido número 23? porque eu gravando na tabela pedidos eu vou gravar em cada registro o número do pedido? porque eu penso assim.. Entro no cliente joão ai quero ver os pedidos dele... ai me vou na tabela pedido e filtro somente os pedido com a id_cliente (ID do João) Só que ele irá me mostrar assim: Pedido 23: Computador HP Pedido 23: Gravador de DVD Pedido 23: Notebook HP 2160br Estou correto? Eu preciso saber o que tenho que fazer para quando o eu entrar no pedido 23 do João mostrar que ele comprou esses produtos. Porque nesse caso eu vou ter 3 pedidos iguais com o pedido número 23, no meu ponto de vista ai em cima ele fez 3 pedidos e não 1 pedido com 3 produtos.. Alguém pode me orientar... Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Setembro 19, 2008 Olha para ser este outro raciocinio, você deveria criar outro tipo de tabela com uma quantidade de produtos limitada. Por exemplo: `id_pedido`,`id_cliente` `quantidade1`,2,3,4,5... `id_produto1`,2,3,4,5... `data_pedido` `observacao` Ou você poderia ter um campo com todos os produtos e quantidade separados por virgula, mas acho q nenhum desses dois modelos estão certos. Então o jeito é você fazer um seleção desta tabela pedidos para o cliente X agrupando por pedidos e na outra pagina você puxa os produtos que contém determinado numero de pedido. É necessário o código SQL? Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Setembro 19, 2008 CREATE TABLE `pedidos` ( `id_pedido` int(11) NOT NULL auto_increment, `id_cliente` varchar(30) NOT NULL default '', `data_pedido` date NOT NULL default '0000-00-00', `observacao` text, PRIMARY KEY (`id_pedido`) ) TYPE=MyISAM AUTO_INCREMENT=1; CREATE TABLE `itenspedido` ( `id_itempedido` int(11) NOT NULL auto_increment, `id_pedido` int(11) NOT NULL, `id_produto` varchar(30) NOT NULL default '', `quantidade` varchar(50) NOT NULL default '', PRIMARY KEY (`id_itempedido`) ) TYPE=MyISAM AUTO_INCREMENT=1; Ou seja, cria um pedido só, na tabela pedidos. Cada produto daquele pedido você insere no itenspedido, fazendo o relacionamento pelo campo id_pedido das duas tabelas. Att, Guilherme Oenning. Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Setembro 19, 2008 Tá deixa eu ver entendi... Eu tenho a tabela `id_itempedido` int(11) NOT NULL auto_increment, `id_pedido` int(11) NOT NULL, `id_produto` varchar(30) NOT NULL default '', `quantidade` varchar(50) NOT NULL default '',AI vamos supor que comprei 3 itensEntão ficaria assim Aqui eu comprei 1 produtos ( Mp3) id_itempedido = 20 id_pedido = 20 id_produto = 15 id_quantidade = 2 Aqui eu comprei mais 1 produto ( Camêra) id_itempedido = 21 id_pedido = 20 id_produto = 10 id_quantidade = 1 Aqui eu comprei mais outro 1 produto (mouse) id_itempedido = 22 id_pedido = 20 id_produto = 15 id_quantidade = 4 Explicando o que eu entendi, Então o Usuário João comprou esses Itens acima correto? Gravo os produtos com o mesmo número de pedido na TABELA ITENSPEDIDO correto? E depois eu gravo na tabela pedidos uma única vez Ai eu tenho que pegar as 3 ID´s do itenspedido, que são dos 3 produtos que comprei e jogar na tabela pedido? ficando assim id_pedido = 20 ( aqui eu filtro depois todos os produtos cujo a ID é igual a 20 correto) id_cliente = 89 data_pedido = 2008/09/19 observacao = Pagamento com cheque Poxa é isso mesmo? Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Setembro 19, 2008 sim, mãos a massa(teclado) Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Setembro 19, 2008 puts galera brigado mesmo, vou fazer isso jáaaaaa Grande abraço Compartilhar este post Link para o post Compartilhar em outros sites