Ir para conteúdo
Fórum Script Brasil
  • 0

cálculo com valores no bd


Guest --marciarf --

Pergunta

Guest --marciarf --

Mais um problema de lógica

Tenho uma tabela no bd MySQL onde tenho que fazer novas inserções e alguns cálculos com dados já gravados.

Deve ter uma forma de fazer isso diretamente no SQL, mas estou tentando no php mesmo.Tenho o seguinte código:

for ($i=$prim_date; $i<=$ult_date; $i+=86400) {
      
       if ($dia != 0 && $dia != 6) { // se dia da semana é diferente de domingo e de sabado...

        // verifica se já existe registro para numrecurso e dia
      $sqla="SELECT nomeprojeto,numrecurso,dia,consumo FROM tab_estoque WHERE nomeprojeto='$nomeproj' AND numrecurso='$numeror' AND dia='$i'";

      $limiteb=mysql_query("$sqla") or die(mysql_error());
      
      if ($limiteb) { // já existe registro para aquele material e dia...

           $sqla=mysql_fetch_array($limiteb);
           $iconsumo=$sqla['consumo'];
           $quantidade = $quantity + $iconsumo; // adiciona o consumo novo ao já existente

           // remove o registro já existente, que será a seguir regravado.
           $sqla="DELETE FROM tab_estoque WHERE nomeprojeto = '$nomeproj' AND numrecurso='$numeror' AND dia = '$i'";
           $limiteb=mysql_query("$sqla") or die(mysql_error());
        }
}

   }
       $sql="INSERT INTO tab_estoque(nomeprojeto,numrecurso,dia,consumo,estoquefinal) VALUES('$nomeproj','$numeror','$i','$quantidade','$estoquefinal')";
       $res2=mysql_query($sql) or die (mysql_errno());
   } 
   $dia = (++$dia) % 7;
...
Neste trecho eu estou dividindo um intervalo de tempo, excetuando finais de semana. Faço uma consulta, se já existe gravado um registro para determinado projeto, recurso e dia, eu removo o registro e gravo novamente com a alteração (preferi do que usar UPDATE). Até ai, ok. agora tenho uma outra coluna da tabela (estoquefinal) onde o valor será sempre retirado do valor da coluna consumo. Ou seja, para o primeiro dia o estoquefinal será 0-$quantidade(variável que armazena o valor do consumo). Para os demais dias, o valor da linha anterior - o da linha atual.Estou indo pra esse caminho....
if($i==$prim_date){
           $estoquefinal = 0 - $quantidade
}else{
           $estoquefinal = $quantidade[$i] - $quantidade[$i-86400];
        }

mas não tem funcionado.

Alguém tem uma idéia de como fazer?

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...