Ir para conteúdo
Fórum Script Brasil

joetec

Membros
  • Total de itens

    7
  • Registro em

  • Última visita

Sobre joetec

joetec's Achievements

0

Reputação

  1. senhores e consegui depois de muita tentativa e erros e ajuda do romero fazer o script do jeito que queria assim não precisarei armazenar dia a dia o saldo do estoque. deixo minha contribuição e lembro que postarei mais dúvidas pois este projeto é grande. $dataini = $_POST["dataini"]; //recebe valor da pag. selecionar.php $datafim = $_POST["datafim"]; //recebe valor da pag. selecionar.php echo"<table border=1><tr> <td>Item</td> <td>Descrição</td> <td>Unidade</td> <td>Referência</td> <td>Estoque mínimo</td> <td>Estoque máximo</td> <td>Data da movimentacão</td> <td>Entrada de Material</td> <td>Saída de Material</td> <td>Saldo</td><td>Historico</td> </td> </tr>"; // cria o cabeçario da tabela $result = mysql_query("SELECT SUM( ent )as entrada, SUM(sai) as saida FROM entsai WHERE data < $dataini"); // Pega o total de item de entrada e saida de materiais da data //anterior a pesquisada para subtrair um pelo outro e encontrar o saldo atual while($row = mysql_fetch_array($result)) { $entrada = $row['entrada']; $saida =$row['saida']; }; // salva a quandidade de material das colunas entrada e saida nas variaveis. $saldo = $entrada - $saida; // Faz a subtração dos valores encontrados $inseri_saldo = mysql_query( "UPDATE `saldoinicial` SET `sinicial` = $saldo where indice = 1");//cria a varial que atualiza o saldo para o valor encontrado $inseri_saldo;// inseri o valor encontrado na subtração $resm = mysql_query("SELECT * FROM materiais, entsai,saldoinicial WHERE materiais.item =$item AND entsai.item =$item AND entsai.data BETWEEN '$dataini' AND '$datafim'"); // Cria a varialvel que seleciona os dados a serem mostrado na tabela while($escrever=mysql_fetch_array($resm)) { print " <tr><td>$escrever[item]</td> <td>$escrever[desc]</td><td>$escrever[unid]</td> <td>$escrever[ref]</td><td>$escrever[estmin]</td> <td>$escrever[estmax]</td><td>$escrever[data]</td> <td>$escrever[ent]</td><td>$escrever[sai]</td> <td>"; // Faz o looping para escrever na tabela os itens selecionados $saldo1= "$escrever[ent]"; // $saldo2="$escrever[sai]"; // salva a valor de ent , sai e historico nas variaveis durante o looping. $historico= "$escrever[historico]";// $res = mysql_query("SELECT * FROM `saldoinicial` WHERE indice =1;"); // cria a variavel que seleciona o saldo inicial inserido anteriormente while($escrever=mysql_fetch_array($res)) { $sinicial ="$escrever[sinicial]"; }; // Faz o looping para salvar a varialvel com o saldo inicial $sinicial2 = ( $sinicial + $saldo1) - $saldo2; // Faz o calculo para saber o saldo atual $atualiza = mysql_query("UPDATE `saldoinicial` SET `sinicial` = $sinicial2 where indice = 1"); //Cria a variavel para atualizar no BD o saldo inicial $atualiza; //atualiza o saldo inicial print "$sinicial2";// escreve o saldo atual em cada linha da tabela a cada looping print "</td> <td>$historico</td> </td></tr>"; }; O resultado prévio pode ser visto no link abaixo. http://estoque.webcindario.com/localizar.php localizem o item 20 e busquem o relatório no período de 2010/08/01 a 2010/08/31
  2. Já verificou se 0,00 não é o que está escrito no BD. ? Já imprimiu na tela o valor sem formato?
  3. Caro Romero, O que eu queria realmente era criar o saldo por meio de calculo após extrair os dados da tabela mas realmente esta difícil, já fiz varias pesquisas na net e parece que eu estou tentando neste caso fazer algo que não existe. Vou optar pela sua sugestão e criar a coluna saldo. Obrigado pelo tempo dispensado. espero conseguir concluir o trabalho que postarei aqui no forum.
  4. aproximadamente isto. a diferença é que eu não tenho na tabela uma coluna para indicar a operação e sim uma coluna para entrada e outra para saída. Estava pensando em usar a função SUM para para pegar o saldo inicial e em outras ocasiões como o saldo total mas, a minha idéia e pegar o saldo de um período a cada operação por exemplo. hoje meu saldo é X mas fazendo a consulta para o período do mês de agosto preciso pegar o saldo que eu tinha no final do mês de julho ai eu uso SUM para somar todo valor anterior a agosto da coluna entrada e todo valor da coluna saída e subtrair um pelo outro que seria o saldo inicial. o qual eu armazeno em uma célula da tabela saldoinicial no BD estoque. para poder somar com a próxima entrada e subtrair pela próxima saída. fazendo aquele efeito de extrato bancário Saldo inicial 20 dia entrada saída saldo 1____ 5____0_____ 25 o problema é que a cada linha o saldo muda por isso o saldo inicial tem que alterar a cada linha escrita assim estou tentando usar o update dentro da while 2____0____10_____15 exemplo no dia 1 ao lado faco a seguinte operação 20(saldoinicial) +5( entrada) - 0(saida)=25(saldo) antes de passar para dia 2 preciso alterar o saldo inicial 3____3____0______18 para o novo saldo no caso 25 ai entra o update assim no dia 2 poso fazer a mesma operacão 25(saldoinicial) +0( entrada) - 10(saida)=15(saldo) 4____12___0______30 e repetidamente até o final da consulta. só que o update que altera o valor do saldo inicial só ocorre uma vez e não a cada linha como deveria ocorrer. andei olhando alguns scripts de estoque e nenhum possui este tipo de relatório e não gostaria de desistir por isso a insistência. obrigado a ajuda.
  5. Caro Romero, Fiz as modificações mas, ainda assim não tenho o efeito desejado. a minha idéia é fazer um relatório onde mostre dia a dia a partir de um período previamente selecionado as entradas e saída de material e o saldo restante a partir de cada entrada e saída de material. tal como em um extrato bancário. o único meio que encontrei para fazer isto seria armazenar o saldo que fica dentro de uma tabela no sql que eu pudesse atualizar este valor a cada alteração de saldo para que novamente o utilize para deduzir ou acrescentar novo valor conforme o caso. por isso acredito que devo fazer o update desta célula com o novo valor dentro da while só que mesmo dentro da while o update só ocorre após o ultimo loop. o que para mim deveria ocorrer ao final de cada loop para preencher a linha da tabela que mostra os dados. segue como está o codigo agora. $resm = mysql_query("SELECT * FROM materiais, entsai,saldoinicial WHERE materiais.item =$item AND entsai.item =$item AND entsai.data BETWEEN '$dataini' AND '$datafim'"); while($escrever=mysql_fetch_array($resm)) { print " <tr><td>$escrever[item]</td><td>$escrever[desc]</td><td>$escrever[unid]</td><td>$escrever[ref]</td><td>$escrever[estmin]</td> <td>$escrever[estmax]</td><td>$escrever[data]</td><td>$escrever[ent]</td><td>$escrever[sai]</td> <td>"; $saldo1="$escrever[ent]"; $saldo2="$escrever[sai]"; $sinicial2 = ($sinicial + $saldo1) - $saldo2; print $sinicial2; $strSql = "UPDATE `saldoinicial` SET `sinicial` = '$sinicial2'"; mysql_query($strSql); print $strSql; print "</td> <td>$escrever[historico]</td> </td></tr>"; }; coloquei a pagina no miarroba para vocês verem o resultado da pesquisa. (lembro que não está pronta) http://estoque.webcindario.com/localizar.php localizem o item 20 e busquem o relatório no período de 2010/08/01 a 2010/08/31
  6. joetec

    Pagina com http-equiv

    Não entendi bem, mas não seria o caso de usar o refresh 1 em cada pagina que se abre. Tipo Dentro de index. <meta http-equiv="refresh" content="5; url=dhcp.php;"> Dentro de dhcp.php <meta http-equiv="refresh" content="5; url=ldap.php;"> dentro de ldap.php <meta http-equiv="refresh" content="5; url=peering.php;"> e ...... na ultima pagina <meta http-equiv="refresh" content="5; url=index;">
  7. Senhores estou fazendo um controle de estoque e a parte dos relatorios parece que vai me dar trabalho. segue o codigo onde está a dúvida. while($escrever=mysql_fetch_array($resm)) { /*Escreve cada linha da tabela*/ echo " <tr> <td>$escrever[item]</td> <td>$escrever[desc]</td> <td>$escrever[unid]</td> <td>$escrever[ref]</td> <td>$escrever[estmin]</td> <td>$escrever[estmax]</td> <td>$escrever[data]</td> <td>$escrever[ent]</td> <td>$escrever[sai]</td> <td>"; $saldo1="$escrever[ent]"; $saldo2="$escrever[sai]"; $sinicial2 = $sinicial + $saldo1 -( $saldo2); echo $sinicial2; echo"</td> <td>$escrever[historico]</td> </td> </tr>"; [b]mysql_query("UPDATE `estoque`.`saldoinicial` SET `sinicial` = '$sinicial2'");[/b] }; Notem que o update acima está dentro da while e eu gostaria que ele atualize a cada linha o item sinicial da tabela saldoinicial só que isto só acontece após a ultima linha da while escrita, quando na verdade eu gostaria que ele atualiza- se ao final de cada linha. já tentei de outras maneiras mas ainda não tive resultados. conto com a ajuda de todos.
×
×
  • Criar Novo...