Ajuda Com Soma
#1
Posted 27/06/2006, 09:44
ae quando eu enviar o pedido ele tem q fazer uma consulta no banco e ver se já tem numeroPedido se não tiver ele cadastra como 1 se tiver ele soma +1.
como posso fazer isso?
obrigado
#2
Posted 27/06/2006, 09:48
Flws...
Até mais
#3
Posted 27/06/2006, 09:52
é + ou - assim tem + campos ae eu queria colocar um campo numeroPedidoproduto 1 -------------- cliente1--------------------preço1-----------data
produto2-----------------cliente1--------------------preço2-----------data
produto1-----------------cliente3----------------------preço1---------data
para ficar assim
produto 1 -------------- cliente1--------------------preço1-----------data--------numeroPEDIDO1
produto2-----------------cliente1--------------------preço2-----------data--------numeroPEDIDO1
produto1-----------------cliente3----------------------preço1---------data--------numeroPEDIDO2
entendeu + ou - ?
uhauha
#4
Posted 27/06/2006, 09:53
"Update sua_tabela Set campo = campo+1"
#5
Posted 27/06/2006, 09:54
Se vc colocar o campo numeroPEDIDO1 com auto-incremento, ele vai gerar os números sem repetição.
Vc pode colocar campo auto-incremetal em qualquer posição da sua tabela...
[]´s
#6
Posted 27/06/2006, 09:59
o kra um possivel pedido (orçamento) ele vai adicionando os produtos e tais
quando ele finalizar o orçamento ele passa a ser pedidos em aberto q ainda sim pode adicionar produtos e somente depois de aprovado o pedido é dado como fechado
agora a duvida eu coloco esse auto na minha ultima ação quando ele for fechar o pedido???
e se eu tiver 3 produtos no carrinho
ele vai salvar 1 2 3 ou 1 1 1 ???
obrigado
#7
Posted 27/06/2006, 15:33
Seria isso?
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#8
Posted 27/06/2006, 15:41
um cliente faz um pedido ae ele gera numero do pedido 1
outro cliente faz um pedido ae o numero tem q ser 2
e ae vai
chapixe?
#9
Posted 27/06/2006, 16:02
O recurso que o MySQL oferece, é na cláusula ON DUPLICATE numa instrução INSERT.
Por exemplo, caso você for registrar um registro igual (indicado pelas colunas com propriedade UNIQUE), você pode alterar o registro já existente incrementando um valor a uma campo existente.
Exemplo:
idcliente | idproduto | quantidade 1 | 1 | 1
No exemplo, idcliente e idproduto seriam as colunas com propriedade UNIQUE.
Daí se você for cadastrar um produto para este cliente, produto este que ele já tenha escolhido, seria incrementado o valor.
A query seria:
INSERT INTO tabela VALUES (1, 1, 1) ON DUPLICATE KEY UPDATE quantidade = quantidade + 1
Ficando então:
idcliente | idproduto | quantidade 1 | 1 | 2
Como não é este o seu caso, você terá que fazer uma consulta mesmo.
Mas pensando bem, pra que isso? Se você tiver necessidade de saber a quantidade de registros de um produto, basta fazer uma query para isso.
Se tiver necessidade de somar os valores de um dada coluna, que correspondem a uma condição, você também poderá fazer.
Analise melhor o que tens a fazer.
Edição feita por: Eclesiastes, 27/06/2006, 16:04.
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#10
Posted 27/06/2006, 16:54
o cliente 1 tem 10 produtos comprados na data tal com o numero de pedido 1
o cliente 45 tem 2 produtos comprados na data tal com o numero de pedido 2
o cliente 1 tem 3 produtos comprados na data tal com o numero de pedido 3
seria para isso
#11
Posted 27/06/2006, 18:21
Bom, nesse caso, cabe então a você, indicar quando o valor do pedido será alterado.
Quando precisar saber qual é o maior valor da coluna 'numerPedido', use a função MAX().
Exemplo:
SELECT MAX(numeroPedido) FROM tabela
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#12
Posted 28/06/2006, 08:22
Hmmm, certo. Entendi!
Bom, nesse caso, cabe então a você, indicar quando o valor do pedido será alterado.
Quando precisar saber qual é o maior valor da coluna 'numerPedido', use a função MAX().
Exemplo:SELECT MAX(numeroPedido) FROM tabela
essa função MAX()
ele soma?
tipo eu tenho o numero de pedido que é 10 a proximo q eu adicionar ele vai colocar 11?
#13
Posted 28/06/2006, 10:37
Fica por sua conta, incrementar o valor na própria query, ou no php mesmo.
Na query seria:
SELECT (MAX(numeroPedido) + 1) AS proximoID FROM tabela
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#14
Posted 28/06/2006, 17:09
+ acho q o pau é no meu update.
$pedido="SELECT (MAX(nPedido) + 1) AS nPedido FROM tbcarrinho";
$pega=mysql_query($pedido)or die (mysql_error());
while($rs_PegaCliente = mysql_fetch_array($pega)) {
$nPedido = $rs_PegaCliente ['nPedido'];
}
$numero = $nPedido;
$IdVendedor = $_REQUEST['IdVendedor'];//nao ta usando ta pegando do slelect
$IdClientes = $_REQUEST['IdClientesC'];//nao ta usando ta pegando do slelect
$Preco = $_REQUEST['precocheio'];//nao ta usando ta pegando do slelect
$txtPrevi = $_REQUEST['txtPrevi'];
$txtDescri = $_REQUEST['txtDescri'];
$frete = $_REQUEST['frete'];
$atlera = mysql_query("UPDATE tbcarrinho SET ordem='fechado',nPedido='$numero', txtFrete='$frete', txtPrevi='$txtPrevi', txtDescri='$txtDescri' WHERE IdClientesC='$IdClientes'");
echo "<script>alert('Pedido Finalizado'); location.href('../orcamento/PedidoFechado.php?IdClientes=".$_REQUEST['IdClientesC']."&desconto=0');</script>";
aki ele esta pegando o ultimo numero de um pedido e somanto + 1 até ae ta certo + na hora q eu vou dar o meu update se eu tenho algum pedido do mesmo cliente já fechado ele ta mudando tudo para o novo valor do numero do pedido =/
Edição feita por: _vina, 28/06/2006, 17:25.
#15
Posted 28/06/2006, 17:55
Você tem que usar o número do pedido para ajudar na identificação do registro a ser alterado, ou seja, colocar também na cláusula WHERE.
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)