Ir para conteúdo

POWERED BY:

Arquivado

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

Leandromx

Fechar carrinho de compra para gerar pedido

Recommended Posts

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

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

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

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

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

É 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

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

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

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 itens

Entã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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.