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....
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
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:
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
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.