Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

nsilvamed

[Resolvido] Guardar Registos de Faturação

Recommended Posts

Olá a todos,

 

Tenho o seguinte problema para resolver em php com BD MySql, ainda estou a pensar como deve ser feito e precisava de um empurrão.

 

Trata-se de uma pagina de atendimento, onde é registado o que uma empresa recebe (dinheiro) de quem lá vai.

 

Tem os seguintes campos que devem ser preenchidos:

 

Data Credito Caixa Faturação ValorInicial Total

20, 20 // caixa com 20 e valinicial com 20

5 25 5 5 // credito 5, caixa 25, faturaçao 5, total 5

10 35 15 15// credito 10, caixa 35, faturaçao 15, total 15

 

O valor inicial é o que temos em caixa ao inicio do dia.

O credito é os pagamentos que vão sendo feitos.

Na caixa temos a soma do valor inicial com o credito.

A faturação é a soma do credito. é feita diariamente.

O Total é para somar a facturação de todos os dias.

 

Ou seja o objectivo seria dar-me ao final do dia quanto foi faturado (Faturação) e no novo dia iniciasse novamente apenas com o valor em caixa (20). No entanto, o valor total não voltava a 0 (zero), continuava a somar com o que já tinha no dia anterior.

 

Para calcular a caixa pensei:

$soma= $valorinicial;

SELECT SUM(credito) as soma FROM registos

 

Para a faturação:

$soma= '0';

SELECT SUM(credito) as soma FROM registos

 

No entanto isto não funciona pois quero que num novo dia volte a zero, mas fique registado na BD todos os dias e qual foi a faturaçao de cada dia.

 

Alguém tem sugestões?

Compartilhar este post


Link para o post
Compartilhar em outros sites

=X

 

Se eu entendi direito você quer a faturação no dia seguinte volte com valor inicial =X

 

usa um cron jobs, pra roda um script no fim do dia, que de um update no campo faturação e volte ele pra 0

 

=X

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi muito sua dúvida, ja que ta muito por cima, se você detalhar melhor talvez possa te ajudar melhor... mas vo tenta te ajudar:

 

----------------------------------------------------------------------------------------------------------------------------------------

 

cria um campo chamado "total" no banco de dados, e no final do dia da um SUM nele

 

se tu quer de cada dia, apenas salve em uma tabela, cada dia com sua respectiva faturação

 

depois ao fim de tudo, zera a variavel faturacao

 

----------------------------------------------------------------------------------------------------------------------------------------

n sei se eu te ajudei, explica melhor que talvez eu possa te ajudar melhor dai ;x

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi muito sua dúvida, ja que ta muito por cima, se você detalhar melhor talvez possa te ajudar melhor... mas vo tenta te ajudar:

 

----------------------------------------------------------------------------------------------------------------------------------------

 

cria um campo chamado "total" no banco de dados, e no final do dia da um SUM nele

 

se tu quer de cada dia, apenas salve em uma tabela, cada dia com sua respectiva faturação

 

depois ao fim de tudo, zera a variavel faturacao

 

----------------------------------------------------------------------------------------------------------------------------------------

n sei se eu te ajudei, explica melhor que talvez eu possa te ajudar melhor dai ;x

 

Desde já, obrigada pela vontade de ajudar.

 

Vou tentar descrever melhor o problema:

 

Numa página tenho um formulário para inserir os campos (Data, Credito e o valor inicial) e outros campos que serão calculados automaticamente (caixa, faturação e total).

Isto serve para registar os pagamentos que os utentes fazem.

Tenho o formulário para inserir esses dados e abaixo do formulário quero que vá aparecendo os registos actualizados. Ou seja:

Insiro:

Data Credito Valor Inicial

 

E aparece em baixo:

Data Credito Caixa Faturacao Total

 

O valor inicial é o que já está em caixa antes de começarem os pagamentos.

1ºregisto - caixa=valorinicial+credito

2º e restantes registos - caixa=caixa+credito

 

faturação=faturação+credito (nao inclui valorinicial)

 

Durante o dia quero que me apareçam todos os registos seguidos com estes valores actualizados.

Quando for introduzida uma nova data (dia seguinte) começa outra vez de novo, com a caixa apenas com o valor inicial.

No inicio de cada dia o valor em caixa tem que ser igual ao valor inicial.

 

O Total volta a 0 no inicio de cada dia.

 

O total no final do primeiro dia é a faturação desse dia.

O total no final do 2º dia é a soma da facturação do 1º com o 2º dias.

 

Ou seja, no segundo dia o total tem que começar com o valor que tinha no final do dia anterior.

 

Este é um problema complexo, pelo menos para mim. Penso que tem que estar tudo bem organizado.´

 

Como resolver isto da melhor forma e como devo ter a BD organizada?

 

Se ainda não ficou claro diga que eu explico melhor.

 

Obrigado,

Nádia

 

Vou tentar implementar o seguinte:

 

 

1ªPESQUISA - insere a data.

 

SE não existir a data nos registos, ENTAO

Introduz CREDITO e VALINICIAL

 

caixa=credito+valinicial;

faturação=credito;

 

SENÃO (se existir data)

Introduz CREDITO

 

caixa=caixa(registo anterior)+credito

faturação=faturação(registo anterior)+credito;

 

2ºINSERIR

 

Data Credito Caixa Faturação

 

 

No entanto acho que deverei ter alguns problemas. E falta o campo TOTAL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se ja tem algum codigo pronto ai ?

 

sua duvida e como monta toda a estrutura ?

 

ou apenas a parte da fatura com o total ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se ja tem algum codigo pronto ai ?

 

sua duvida e como monta toda a estrutura ?

 

ou apenas a parte da fatura com o total ?

 

A minha duvida é a estrutura toda. Tentei implementar como tinha em cima mas não tava a funcionar. Ainda não tenho código porque não sei com resolver o problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

=X

 

Você num pode acha que o pessoal vai faze pra você todo o esquema ...

 

faz uma Tabela com os campos que você precisa..

 

faz um formulario pra inserir um valor começa a trabalha os script php pra efetua os insert os selects

 

faze as somas e printa os resultados na tela =D

 

você já tem a ideia começa a desenha ela, ai você traz aki os script pro pessoal te auxilia conforme a necessidade :joia:

 

formulário para inserir os campos (Data, Credito e o valor inicial)

ja comece por ai

 

e depois por aqui

calculados automaticamente (caixa, faturação e total).

Compartilhar este post


Link para o post
Compartilhar em outros sites

=X

 

Você num pode acha que o pessoal vai faze pra você todo o esquema ...

 

faz uma Tabela com os campos que você precisa..

 

faz um formulario pra inserir um valor começa a trabalha os script php pra efetua os insert os selects

 

faze as somas e printa os resultados na tela =D

 

você já tem a ideia começa a desenha ela, ai você traz aki os script pro pessoal te auxilia conforme a necessidade :joia:

 

 

ja comece por ai

 

e depois por aqui

 

É realmente isso que eu estou a fazer...Pedi ajuda porque sei que existe pessoas por aqui que percebem muito disto e podiam melhorar aquilo que eu penso.

 

Não estou sentada á frente do computador á espera de respostas e que me façam o trabalho. Tou a tentar fazer e a resolver o meu problema.

 

Por isso fique descansado porque eu não tou a pensar que o pessoal me vai fazer o esquema todo. Nem pedi isso. O que pesi foi ideias e sugestões.

 

Ja fiz a tabela e já tou a tentar fazer os scripts.

Peço desculpa mas é que supostamente estamos aqui para tentar ajudar uns aos outros. Sendo assim não precisava desta secção no fórum.

 

Mais uma vez desculpa mas da maneira que falou até parecia que eu não estou tentando resolver o problema e essa não é a verdade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

=X

num m xinga não kkkkkk..

 

to tentando te ajuda ue =X

 

so que num entendi direto seu problema, talves com o codigo, as tabela a forma q você ta tentado faze, fique mais facil pro pessoal te auxiliar com a sua logica ..

 

você q seta a data o valor inicial e credito em um formulario certo!!!

depois que resgata esse valores, soma alguns deles e salva nos seus respectivos campos..

 

você faz isso com INSERT SELECT E UPDATE ^^

 

entro com um valor submit.. add ele nos campos q precisam.. entro com um novo valor do um update somando o valor anterior com o novo ..

 

SELECT...

if(empty($dados['valor'])):

 

INSERT $_POSTs...;.....

 

else:

 

SELECT *.. SELECT SUM(campo)....

$selct->fetchAll();

 

foreach($select as $dados)

$fatura = ($dados['fatura'] + $_Post['valor']);

UPDATE table set fatura = $fatura ...

 

e por ai vai..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste momento tenho o seguinte:

 

Peço a data:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="get" action="validateste1.php">
 <label for="data">Data:</label>
 <input name="data" type="text" id="data" size="10" maxlength="10" />
 <input type="submit" name="button" id="button" value="Submit" />
</form>
</body>
</html>

 

Verifico se já existe algum registo com aquela data:

 

<?php require_once('Connections/BDCsscg.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
 if (PHP_VERSION < 6) {
   $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 }

 $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

 switch ($theType) {
   case "text":
     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
     break;    
   case "long":
   case "int":
     $theValue = ($theValue != "") ? intval($theValue) : "NULL";
     break;
   case "double":
     $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
     break;
   case "date":
     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
     break;
   case "defined":
     $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
     break;
 }
 return $theValue;
}
}

$colname_Recordset1 = "-1";
if (isset($_GET['data'])) {
 $colname_Recordset1 = $_GET['data'];
}
mysql_select_db($database_BDCsscg, $BDCsscg);
$query_Recordset1 = sprintf("SELECT * FROM registos WHERE `data` = %s", GetSQLValueString($colname_Recordset1, "text"));
$Recordset1 = mysql_query($query_Recordset1, $BDCsscg) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

if($totalRows_Recordset1=='0Resource'){
header("location:Pagina1.php");

}
else
header("location:Pagina2.php");



?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>

 

Se ainda não existir, vou para a Pagina1.php:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>

</head>

<body>
<p>Não tem data- 1º registo</p>
<p> </p>
<form id="form1" name="form1" method="get" action="InserePagina1.php">
 <label for="nome">Nome:</label>
 <input type="text" name="nome" id="nome" />
 <label for="prov">Prov:</label>
 <input type="text" name="prov" id="prov" />
 <label for="inicial">  Inicial:</label>
 <input name="inicial" type="text" id="inicial" size="10" maxlength="10" />
 <label for="credito">Credito:</label>
 <input name="credito" type="text" id="credito" size="10" maxlength="10" />
 <input type="submit" name="button" id="button" value="Submit" />
</form>
<p> </p>
</body>
</html>

 

Insiro na BD:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>

</head>

<body>
<p>Não tem data- 1º registo</p>
<p> </p>
<form id="form1" name="form1" method="get" action="InserePagina1.php">
 <label for="nome">Nome:</label>
 <input type="text" name="nome" id="nome" />
 <label for="prov">Prov:</label>
 <input type="text" name="prov" id="prov" />
 <label for="inicial">  Inicial:</label>
 <input name="inicial" type="text" id="inicial" size="10" maxlength="10" />
 <label for="credito">Credito:</label>
 <input name="credito" type="text" id="credito" size="10" maxlength="10" />
 <input type="submit" name="button" id="button" value="Submit" />
</form>
<p> </p>
</body>
</html>

 

Depois mostro:

<?php require_once('Connections/BDCsscg.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
 if (PHP_VERSION < 6) {
   $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 }

 $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

 switch ($theType) {
   case "text":
     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
     break;    
   case "long":
   case "int":
     $theValue = ($theValue != "") ? intval($theValue) : "NULL";
     break;
   case "double":
     $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
     break;
   case "date":
     $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
     break;
   case "defined":
     $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
     break;
 }
 return $theValue;
}
}

mysql_select_db($database_BDCsscg, $BDCsscg);
$query_Recordset1 = "SELECT * FROM registos";
$Recordset1 = mysql_query($query_Recordset1, $BDCsscg) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<table border="1">
 <tr>
   <td>data</td>
   <td>proveniencia</td>
   <td>credito</td>
   <td>caixa</td>
   <td>faturacao</td>
   <td>valorinicial</td>
   <td>recebido</td>
 </tr>
 <?php do { ?>
   <tr>
     <td><?php echo $row_Recordset1['data']; ?></td>
     <td><?php echo $row_Recordset1['proveniencia']; ?></td>
     <td><?php echo $row_Recordset1['credito']; ?></td>
     <td><?php echo $row_Recordset1['caixa']; ?></td>
     <td><?php echo $row_Recordset1['faturacao']; ?></td>
     <td><?php echo $row_Recordset1['valorinicial']; ?></td>
     <td><?php echo $row_Recordset1['recebido']; ?></td>
   </tr>
   <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>

 

O registo está a ser guardado e mostrado correctamente.

 

No entanto com estes passos todos, não estou a guardar a data.

 

Quero guardar a data que utilizei para pesquisar. Não quero ter que a introduzir novamente quando introduzo os outros campos (valor inicial, credito, etc). Como faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixa eu ver se entendi...

 

 

você quer Atualizar a data pesquisada na Tabela?

 

faça um UPDATE.

 

você so quer resgatar essa data em uma variavel e usa-lá em outra pagina?

 

faça um $_SESSION['data'] = $_POST['data'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixa eu ver se eu entendi:

 

 

$_GET['data']

 

aqui ta a tua data que tu quer guardar caso ela não exista no db certo??

 


if($totalRows_Recordset1=='0Resource'){
       header("location:Pagina1.php");

       }
else
       header("location:Pagina2.php");

 

ta vendo essa parte aqui?

 

ai tu ve se ela existe certo?

 

ali tu coloca ela numa $_SESSION

 

leva pra pagina 1, insere junto com os outros dados, ficando +/- assim]

 


if($totalRows_Recordset1=='0Resource'){
       $_SESSION['DATA'] = $_GET['data'];
header("location:Pagina1.php");

       }
else
       header("location:Pagina2.php");

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixa eu ver se eu entendi:

 

 

$_GET['data']

 

aqui ta a tua data que tu quer guardar caso ela não exista no db certo??

 


if($totalRows_Recordset1=='0Resource'){
       header("location:Pagina1.php");

       }
else
       header("location:Pagina2.php");

 

ta vendo essa parte aqui?

 

ai tu ve se ela existe certo?

 

ali tu coloca ela numa $_SESSION

 

leva pra pagina 1, insere junto com os outros dados, ficando +/- assim]

 


if($totalRows_Recordset1=='0Resource'){
       $_SESSION['DATA'] = $_GET['data'];
header("location:Pagina1.php");

       }
else
       header("location:Pagina2.php");

 

Obrigado Txai, era isso mesmo que precisava. Já está a funcionar.

 

 

Agora é o seguinte: Falta a parte de guardar um novo registo, sendo este a actualizaçao do anterior. Ou seja, caso exista registo da data (já esta a verificar isto) quero que pegue no ultimo registo e obtenha novos dados a partir desse e faça um novo registo.

 

De uma forma mais clara, existe maneira de puxar os dados que dizem respeito ao ultimo id de uma tabela?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ps: eu realmente tenho dificuldade pra ententer o que você está pedindo, desculpa caso eu não tenha ajudado /*ou não estou ajudando/* muito, mas vou tentar novamente...

 

depois de verificado, há o registro, OK, então tu quer pegar esse registro e atualizar,

 

na tabela do registro, bota uma FK com a tabela onde está os usuários, faz um select com where relacionando as duas tabelas, vai selecionar o registro do seu usuário, pegue este registro pelo my_fetch_row/array/etc... coloque no php, faça seus calculos, e logo após um UPDATE com a mesma condição do select para atualizar apenas o registro daquele usuário...

 

 

espero ter ajudado, qualquer coisa, posta que eu ja ja irei ver...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ps: eu realmente tenho dificuldade pra ententer o que você está pedindo, desculpa caso eu não tenha ajudado /*ou não estou ajudando/* muito, mas vou tentar novamente...

 

depois de verificado, há o registro, OK, então tu quer pegar esse registro e atualizar,

 

na tabela do registro, bota uma FK com a tabela onde está os usuários, faz um select com where relacionando as duas tabelas, vai selecionar o registro do seu usuário, pegue este registro pelo my_fetch_row/array/etc... coloque no php, faça seus calculos, e logo após um UPDATE com a mesma condição do select para atualizar apenas o registro daquele usuário...

 

 

espero ter ajudado, qualquer coisa, posta que eu ja ja irei ver...

 

Eu faço uma pesquisa por data. Caso a data ainda nao exista na tabela ele introduz o primeiro registo da forma como está no codigo que postei.

Caso a data já exista na tabela, quer dizer que não é o primeiro registo do dia.

 

Entao eu quero introduzir um novo registo com base no anterior. Não quero actuzalizar o que já lá está.

 

Por exemplo, na data 2011-11-11 já existe um registo com:

 

 

- caixa = 25, faturacao = 5, credito =5

 

Depois é introduzido o credito: credito:____

 

entao o novo registo tem que ser:

 

Caixa = caixa do registo anterior + credito

faturacao = faturaçao do registo anterior + credito

 

Já ajudou bastante. Só o facto de ter que explicar o problema faz-me pensar e compreender melhor como isto funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza...

 

vamo tenta denovo:

 

 

pega com um select o ultimo registro, pega todos os campos(caso tenha alguma dificuldade aqui poste depois)

 

 

contando que você conseguiu pegar todos os campos:

 

 

$row['caixa'] = xx

 

$row['faturacao'] = xx

 

$row['credito'] = xx

 

você tem um "$credito", certo? que foi digitado agora...

 

você irá fazer

$nova_caixa = $row['caixa']+ $credito;
$nova_faturacao = $row['faturacao'] + $credito;

 

feito isso você terá atualizado 2 variáveis, passe para o banco de dados

$sql = "UPDATE " . PREFIXO_TABELA . " SET caixa,faturacao,credito = ".$nova_caixa.",".$nova_faturacao.",".$credito.";";

 

 

espero desta vez ter ajudado, qualquer coisa poste ae =]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho o seguinte código:

 

Aqui vou buscar o ultimo registo da tabela para usar os valores:

mysql_select_db($database_BDCsscg, $BDCsscg);
$query_Recordset2 = "SELECT `data`, credito, caixa, faturacao FROM registos ORDER BY idregisto DESC LIMIT 1";
$Recordset2 = mysql_query($query_Recordset2, $BDCsscg) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2);

 

Depois pegava nesses dados, obtinha os que eu quero e depois inseria um novo registo:

 

$data=$_SESSION['DATA'];
$caixa=$row_Recordset2['caixa']+$_POST['credito'];
$faturacao=$row_Recordset2['faturacao']+$_POST['credito'];

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {


 $insertSQL = sprintf("INSERT INTO registos (nomebeneficiario, proveniencia, credito, caixa, faturacao, data) VALUES (%s, %s, %s, %s, %s, %s)",
                      GetSQLValueString($_POST['nome'], "text"),
                      GetSQLValueString($_POST['prov'], "text"),
                      GetSQLValueString($_POST['credito'], "double"),
				   GetSQLValueString($caixa, "double"),
				   GetSQLValueString($faturacao, "double"),
				   GetSQLValueString($data, "date"));

 mysql_select_db($database_BDCsscg, $BDCsscg);
 $Result1 = mysql_query($insertSQL, $BDCsscg) or die(mysql_error());

 $insertGoTo = "Pagina2.php";
 if (isset($_SERVER['QUERY_STRING'])) {
   $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
   $insertGoTo .= $_SERVER['QUERY_STRING'];
 }
 header(sprintf("Location: %s", $insertGoTo));
}

 

Acontece que, se eu fizer um echo para ver se os dados que puxo do ultimo registo estão certos, dá-me os dados correctamente ($row_Recordset2['caixa'] e $row_Recordset2['faturacao'])

 

Depois crio a variavel $caixa e $faturacao com esses valores acrescido do que é inserido no form credito. Esses valorer não são guardados corretamente. Ambas as variaveis ficam com o valor que é introduzido em credito. Por exemplo, introduzo 5, ambas as variaveis ficam com o valor 5, mas devia era somar 5 ao que já lá havia.

 

O que estou a fazer mal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho o seguinte código:

 

Aqui vou buscar o ultimo registo da tabela para usar os valores:

mysql_select_db($database_BDCsscg, $BDCsscg);
$query_Recordset2 = "SELECT `data`, credito, caixa, faturacao FROM registos ORDER BY idregisto DESC LIMIT 1";
$Recordset2 = mysql_query($query_Recordset2, $BDCsscg) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2);

 

Depois pegava nesses dados, obtinha os que eu quero e depois inseria um novo registo:

 

$data=$_SESSION['DATA'];
$caixa=$row_Recordset2['caixa']+$_POST['credito'];
$faturacao=$row_Recordset2['faturacao']+$_POST['credito'];

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {


 $insertSQL = sprintf("INSERT INTO registos (nomebeneficiario, proveniencia, credito, caixa, faturacao, data) VALUES (%s, %s, %s, %s, %s, %s)",
                      GetSQLValueString($_POST['nome'], "text"),
                      GetSQLValueString($_POST['prov'], "text"),
                      GetSQLValueString($_POST['credito'], "double"),
				   GetSQLValueString($caixa, "double"),
				   GetSQLValueString($faturacao, "double"),
				   GetSQLValueString($data, "date"));

 mysql_select_db($database_BDCsscg, $BDCsscg);
 $Result1 = mysql_query($insertSQL, $BDCsscg) or die(mysql_error());

 $insertGoTo = "Pagina2.php";
 if (isset($_SERVER['QUERY_STRING'])) {
   $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
   $insertGoTo .= $_SERVER['QUERY_STRING'];
 }
 header(sprintf("Location: %s", $insertGoTo));
}

 

Acontece que, se eu fizer um echo para ver se os dados que puxo do ultimo registo estão certos, dá-me os dados correctamente ($row_Recordset2['caixa'] e $row_Recordset2['faturacao'])

 

Depois crio a variavel $caixa e $faturacao com esses valores acrescido do que é inserido no form credito. Esses valorer não são guardados corretamente. Ambas as variaveis ficam com o valor que é introduzido em credito. Por exemplo, introduzo 5, ambas as variaveis ficam com o valor 5, mas devia era somar 5 ao que já lá havia.

 

O que estou a fazer mal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu fizer um echo do $row_Recordset2['caixa'] dá-me o valor certo que foi retirado da base de dados, se fixer echo do $_POST['credito'] não dá o resultado.

 

No entando fica guardado na base de dados é o valor que foi introduzido no form credito ($_POST['credito'])

 

Estou a fazer da maneira certa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.