Jump to content


Photo

Ajuda Com Soma


  • Faça o login para participar
16 replies to this topic

#1 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

Posted 27/06/2006, 09:44

eu preciso adicionar no meu campo um campo "numeroPedido"

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 :D
██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 27/06/2006, 09:48

Por que não usar auto_increment?

Flws...
:huh:Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

Posted 27/06/2006, 09:52

eu pensei em usar + o grande problema é q os produtos desse orçamentos são gravados assim

produto 1 -------------- cliente1--------------------preço1-----------data
produto2-----------------cliente1--------------------preço2-----------data
produto1-----------------cliente3----------------------preço1---------data

é + ou - assim tem + campos ae eu queria colocar um campo numeroPedido


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
██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image

#4 oLHa_eu

oLHa_eu

    Turista

  • Usuários
  • 48 posts
  • Sexo:Não informado
  • Localidade:Marechal Cândido Rondon
  • Interesses:PHP, MySql

Posted 27/06/2006, 09:53

Bom.. pelo que eu entendi.. isso deve ajudar...


"Update sua_tabela Set campo = campo+1"




:)

#5 Boxer

Boxer

    Ativo

  • Usuários
  • 304 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 27/06/2006, 09:54

Mas, Amigon...

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
"O único lugar, no mundo, onde o sucesso vem antes do trabalho, é no dicionário"

#6 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

Posted 27/06/2006, 09:59

se for auto até pode dar certo + é q esse sistema de orçamento ele funciona assim

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 :D
██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image

#7 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 27/06/2006, 15:33

Analisando o caso, você pode aumentar o número correspondente ao número do pedido somente quando o cliente repetir o pedido.

Seria isso?
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#8 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

Posted 27/06/2006, 15:41

não

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? :D
██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image

#9 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 27/06/2006, 16:02

Hmmm, que pena.

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.

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#10 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

Posted 27/06/2006, 16:54

esse meu numero do pedido q quero colocar é para gerar uma ordem de pedido e deixar + organizado os pedidos.

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 =)
██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image

#11 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 27/06/2006, 18:21

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

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#12 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

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?
██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image

#13 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 28/06/2006, 10:37

Não, ele vai apenas encontrar o maior valor de uma coluna.

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

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#14 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

Posted 28/06/2006, 17:09

do jeito q vc mostro funciono + ae ele muda todos os campos
+ 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.

██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image

#15 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 28/06/2006, 17:55

Quando você for modificar um registro, não precisa modificar todos os campos. Apenas os campos que devem ter seus valores alterados.

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.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq