Autor Tópico: Como fazer uma comparação de 3 campos  (Lida 3042 vezes)

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Como fazer uma comparação de 3 campos
« Online: Setembro 13, 2013, 01:52:30 pm »
Oi pessoal,

Tenho 3 campos:

Falta
Sobra
Final

* saida (campo de comparação)

Preciso que o campo falta seja comparado ao campo venda.

Campo saída < venda, ele entra como falta, se ele for >, ele entra como sobra, mas se ele estiver certo, entra como 0 nos dois casos(que não tem falta e nem sobra).

Aguardo uma ajuda de vcs.

Obrigada


jorgepopel

  • Expert
  • *****
  • Mensagens: 568
    • iCentro Tecnologia e Sistemas
    • Email
Re:Como fazer uma comparação de 3 campos
« Responder #1 Online: Setembro 13, 2013, 01:55:36 pm »
Dá uma olhada em if elseif

Ou inicia o campo com 0 e usa o if else

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Re:Como fazer uma comparação de 3 campos
« Responder #2 Online: Setembro 13, 2013, 03:57:37 pm »
Oi Jorge,

Sou iniciante e não sei como posso utilizá-lo e aonde devo colocar o código se é no evento ajax ou php.

Estou procura tb informações.

paulomarcelo

  • Expert
  • *****
  • Mensagens: 638
    • Email
Re:Como fazer uma comparação de 3 campos
« Responder #3 Online: Setembro 13, 2013, 04:35:33 pm »
Olha este exemplo abaixo ilustrando o uso da com if e elseif

Código: [Selecionar]
if ($i == 0) {
    echo "i equals 0";
} elseif ($i == 1) {
    echo "i equals 1";
} elseif ($i == 2) {
    echo "i equals 2";
}

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Re:Como fazer uma comparação de 3 campos
« Responder #4 Online: Setembro 13, 2013, 05:25:00 pm »
Paulo,

Coloco no evento ajax onchange?

Não sei fazer e expresar oq eu quero abaixo nesta formula e aonde colocar para chamar a função, rs

Campo saída < venda, ele entra como falta, se ele for >, ele entra como sobra, mas se ele estiver certo, entra como 0 nos dois casos(que não tem falta e nem sobra).

« Última modificação: Setembro 13, 2013, 05:31:58 pm por acombat »

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Re:Como fazer uma comparação de 3 campos
« Responder #5 Online: Setembro 13, 2013, 05:47:47 pm »
Tentei colocar no php desta forma, mas deu erro.

if (({saidas_vales1} > 0 && ({vendas_vales1} > 0)
 {
     
    $faltas_vales1  = ({saidas_vales1} < {vendas_vales1});
           
 }
   
      $sobras_vales1  = ({saidas_vales1} > {vendas_vales1});
    }
  else
 {
   {faltas_vales1} = 0;
   
 }
    {sobras_vales1} = 0;
   
 }

jorgepopel

  • Expert
  • *****
  • Mensagens: 568
    • iCentro Tecnologia e Sistemas
    • Email
Re:Como fazer uma comparação de 3 campos
« Responder #6 Online: Setembro 13, 2013, 06:49:07 pm »
Amigo:

Código: [Selecionar]
{falta} = 0; // nao tem nem falta nem sobra
if ({saida} < {venda}) {
// entra como falta
} elseif ({falta} > {venda}) {
// entra como sobra
}


Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Como fazer uma comparação de 3 campos
« Responder #7 Online: Setembro 13, 2013, 07:12:13 pm »
Na onbeforeupdate ou onbeforeinsert:

Código: [Selecionar]
{sobra}=0;
{falta}=0 ;
if ({saida}>{venda}) { {sobra } = {saida}-{venda};}
if ({saida}<{venda}) { {falta} = {venda}-{saida};}

Isso é se eu entendi, pois a descrição da necessidade esta bastante subjetiva.

Oi pessoal,

Tenho 3 campos:

Falta
Sobra
Final

* saida (campo de comparação)

Preciso que o campo falta seja comparado ao campo venda.

Campo saída < venda, ele entra como falta, se ele for >, ele entra como sobra, mas se ele estiver certo, entra como 0 nos dois casos(que não tem falta e nem sobra).

Aguardo uma ajuda de vcs.

Obrigada


« Última modificação: Setembro 13, 2013, 07:14:10 pm por Haroldo »

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Re:Como fazer uma comparação de 3 campos
« Responder #8 Online: Setembro 14, 2013, 09:50:59 am »
Pessoal,

Agradeço muito a ajuda, segue abaixo uma imagem do q estou querendo e não sei se estou me expressando direito.

Na página mostra os 3 campos, faltas, sobras e final em cores.
No campo final eu coloco manualmente um valor que acho das minhas mercadorias, ex 20, essa quantidade é comparada a saída e vendas e a diferença da comparação dos campos é lançada em faltas e sobras.

Oq nao tinha mencionado foi o campo final que tenho que incluir um valor inicial.

Jorge, este codigo q vc fez eu coloco em php?

Haroldo,

Coloquei o codigo q fez mas nao funcionou, tenho que chamar esta funçao em todos os onbeforeupdate ou onbeforeinsert dos campos?

Mais uma vez agradeço a ajuda de vcs.



« Última modificação: Setembro 14, 2013, 10:55:27 am por acombat »

jorgepopel

  • Expert
  • *****
  • Mensagens: 568
    • iCentro Tecnologia e Sistemas
    • Email
Re:Como fazer uma comparação de 3 campos
« Responder #9 Online: Setembro 14, 2013, 11:43:10 am »
acombat,

Apenas para entender a tua necessidade:
Você tem uma quantidade inicial {TOTAL}
Você tem uma quantidade final (depois de todo o processo, provavelmente fazendo um inventário físico) {FINAL}
Você teve uma quantidade de saida {SAIDA}
Você quer saber se está, fisicamente falando, faltando {FALTAS} ou sobrando {SOBRAS}.
É isso?

Se for isso, então:
Código: [Selecionar]
$saldo = {total} - {saidas};
{faltas} = 0;
{sobras} = 0;
if ({final} > $saldo) { {sobras} = {final} - $saldo };
if ({final} < $saldo) { {faltas} = $saldo - {final} };

Você pode melhorar, deixei assim para ficar mais claro.  Espero ter conseguido heheheehe

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Re:Como fazer uma comparação de 3 campos
« Responder #10 Online: Setembro 14, 2013, 11:59:18 am »
Jorge,

é uma saida de mercadorias(bebidas).

As outras colunas estão ok, o calculo eu só preciso para os 3 campos que falei pq são independentes.

Este código eu coloco no php, em algum evento ou  a variável?

obrigada
« Última modificação: Setembro 14, 2013, 12:04:41 pm por acombat »

jorgepopel

  • Expert
  • *****
  • Mensagens: 568
    • iCentro Tecnologia e Sistemas
    • Email
Re:Como fazer uma comparação de 3 campos
« Responder #11 Online: Setembro 14, 2013, 06:18:05 pm »
acombat,

Desculpa mas não entendi.

Tenta usar a linguagem coloquial para montar a lógica do que você quer. Por exemplo:

Se quantidade maior que o saldo então falta = 9 e sobra = 0
Se quantidade menor que o saldo então falta = 0 e sobra = 9
Se nenhuma das duas então ......

Depois ajudamos a codificar.


Almeida

  • Expert
  • *****
  • Mensagens: 610
    • Email
Re:Como fazer uma comparação de 3 campos
« Responder #12 Online: Setembro 14, 2013, 07:31:31 pm »
Se entendi bem, tente usar um evento ajax no onChange do campo {final}.

e faça algo mais ou menos assim.

{c1} : vou usar esse nome refente ao seu campo saida;
{c2} : vendas;
{c3} : final;
{c4} : sobras
{c5} : faltas.

código exemplo.
Código: [Selecionar]
$resultado =   {final} - ({c2}+{c1});
if($resultado > 0 ) {
  {c4} = $resultado;
}
else if($resultado < 0){
 {c5} = $resultado*(-1);
}

Não se esqueça de trocar os campos c* pelos respectivos campos.
Use no onChange do campo FINAL.

Epserto ter entendido e ajudado rsrs...

Att.
Eliezer Almeida
eliezeralmeidago@hotmail.com
www.infotecsoft.com.br - Modernidade e Eficiência

adrianacombat

  • Avançado
  • ****
  • Mensagens: 307
    • Email
Re:Como fazer uma comparação de 3 campos
« Responder #13 Online: Setembro 16, 2013, 10:28:50 am »
Almeida,

Fiz o evento Ajax do final com onchande, quando eu inseri o valor 30 no final, não tive resultado.

na imagem em anexo, tenho inseri:

10(inicio), 10(entrada), 10 (transfer), 30 (total) - Correto
1 (- perda), 1 (- cortesia), 28 (total da saída) - Correto
Quando eu inseri um valor, ex 30 no final, teria que me dar uma sobra de 2.

EX. lancei 30 no campo final e automaticamente o sistema tem que comparar se ele é:

 - Campo saída < venda = falta  (saida 28, vendas 0 = 0 falta)

 - Campo saída > venda = sobra (saida 28, vendas 0 = 2 sobras)

No caso Almeida eu lanço o resultado(campo final) manualmente.

Jorge, ficou mais claro?

Obrigada

« Última modificação: Setembro 16, 2013, 10:37:49 am por acombat »

jorgepopel

  • Expert
  • *****
  • Mensagens: 568
    • iCentro Tecnologia e Sistemas
    • Email
Re:Como fazer uma comparação de 3 campos
« Responder #14 Online: Setembro 16, 2013, 11:41:24 am »
Desculpe amigo Acombat, mas ainda não entendi. hehehe

Mas, voltando aos comandos, você pode usar:

Código: [Selecionar]
{resultado1} = 0;
{resultado2} = 0;
if ({valor1} > {valor2}) { {resultado1} = 1; }
if ({valor1} < {valor2}) { {resultado2} = 1; }

// Mesmo resultado
// vc pode colocar diversos elseif
//
if ({valor1} > {valor2}) {
    {resultado1} = 1;
    {resultado2} = 0;
} elseif ({valor1} < {valor2}) {
    {resultado2} = 1;
     {resultado1} = 0;
} else {
    {resultado1} = 0; 
    {resultado2} = 0;
}

[]s