nsilvamed 0 Denunciar post Postado Novembro 9, 2011 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
Luis Paullo 47 Denunciar post Postado Novembro 10, 2011 =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
nsilvamed 0 Denunciar post Postado Novembro 10, 2011 A faturação volta a 0 a cada dia mas o Total não, continua com o que já tinha no dia anterior. Obrigado por responder. Compartilhar este post Link para o post Compartilhar em outros sites
Txai 1 Denunciar post Postado Novembro 10, 2011 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
nsilvamed 0 Denunciar post Postado Novembro 10, 2011 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
Luis Paullo 47 Denunciar post Postado Novembro 10, 2011 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
nsilvamed 0 Denunciar post Postado Novembro 10, 2011 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
Luis Paullo 47 Denunciar post Postado Novembro 10, 2011 =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
nsilvamed 0 Denunciar post Postado Novembro 10, 2011 =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
Luis Paullo 47 Denunciar post Postado Novembro 10, 2011 =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
nsilvamed 0 Denunciar post Postado Novembro 11, 2011 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
Luis Paullo 47 Denunciar post Postado Novembro 11, 2011 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
Txai 1 Denunciar post Postado Novembro 11, 2011 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
nsilvamed 0 Denunciar post Postado Novembro 11, 2011 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
Txai 1 Denunciar post Postado Novembro 11, 2011 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
nsilvamed 0 Denunciar post Postado Novembro 11, 2011 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
Txai 1 Denunciar post Postado Novembro 11, 2011 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
nsilvamed 0 Denunciar post Postado Novembro 14, 2011 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
nsilvamed 0 Denunciar post Postado Novembro 14, 2011 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
nsilvamed 0 Denunciar post Postado Novembro 15, 2011 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