Jump to content

[Resolvido] Página de Contas


joaocasta

Recommended Posts

Tenho aqui este código, que na tabela deveria mostrar-me o "Referente" como o que eu inseri na base de dados, mas isso não acontece.

<?php
require_once "config.php";
require_once "funcoes.php";
error_reporting (E_ALL ^ E_NOTICE);
if (!empty($_POST['receitadinheiro'])) {
if($_SERVER['REQUEST_METHOD'] == 'POST'){
//guarda os dados em variáveis
$receita = ($_POST['receita']);
$id_referente = ($_POST['referente']);
if ($receita == "" && $id_referente == "")
{
echo "";
}
else {
$id_utilizador = (int)$_SESSION['id'];
$data = date('d/m/Y');

$sql = mysql_query("INSERT INTO receitas_valores (id_utilizador, `receita`, `data`, `id_referente_receita` ) VALUES('$id_utilizador', '$receita', '$data', '$id_referente')") or die(mysql_error());
}
}
}
if (!empty($_POST['despesadinheiro'])) {
if($_SERVER['REQUEST_METHOD'] == 'POST'){

//guarda os dados em variáveis
$despesa = ($_POST['despesa']);
$id_referente = ($_POST['selector']);
if ($despesa == "" && $id_referente == "")
{
echo "";
}
else {
$id_utilizador = (int)$_SESSION['id'];
$data = date('d/m/Y');

$sql = mysql_query("INSERT INTO despesas_valores (id_utilizador, `despesa`, `data`, `id_referente_despesa` ) VALUES('$id_utilizador', '$despesa', '$data', '$id_referente')") or die(mysql_error());
}
}
}
?>
<form method="POST" action="">
  <p align="center"><font color="#008000" size="2">Receita 
  </font><input type="text" name="receita" size="11" >   
  <?php
$q = 'SELECT id, receita FROM receitas';
$result = mysql_query($q);
echo '<select name="referente">'; $c='';
while ($row = mysql_fetch_array($result)) {
   echo '<option value="'.$row['id'].'">'.$row['receita'].'</option>';
}
echo '</select>'; ?></p><input type="submit" name="receitadinheiro" value="Adicionar" name="B1"><input type="reset" value="Apagar" name="B2">
</form>
<form method="POST" action="">
  <p align="center"><font size="2" color="#FF0000">Despesa 
  <input type="text" name="despesa" size="11"> 
  <?php
$q = 'SELECT id, despesa FROM despesas';
$result = mysql_query($q);
echo '<select name="selector">'; $c='';
while ($row = mysql_fetch_array($result)) {
   echo '<option value="'.$row['id'].'">'.$row['despesa'].'</option>';
}
echo '</select>'; ?>
   </font></p>
  <p align="center"> </p>
  <p align="center"><input type="submit" name="despesadinheiro" value="Adicionar" name="B3"><input type="reset" value="Apagar" name="B4">
  </p>
 </form>
 <p> </td>
</tr>
</table>
<table border="1" width="71%" bordercolorlight="#000000" cellspacing="0" cellpadding="0">
<tr>
 <td width="127"><font size="1"><b><font color="#008000">Saldo actual -</font></b> 
 <?php echo $saldoactual; ?>€</font></td>
 <td width="140"><font size="1" color="#008000">Receitas </font>
 <font size="1"><font color="#008000"></font> - <?php echo $receita;?>€</font></td>
 <td width="176"><font size="1"><font color="#FF0000">Despesas </font>
 - <?php echo $despesa; ?>€</font></td>
 </tr>
</table>
<p> </p>
<p><b><font size="2">Estrato de valores adicionados</font></b></p>
<table border="1" width="96%" bordercolorlight="#000000" cellspacing="0" cellpadding="0" bordercolordark="#FFFFFF">
<tr>
 <td align="center" width="67"><font size="2">Data</font><p>
 <font size="2">--------------</font></p>
 <p><font size="2" color="#008000"><?php echo $data;?></font></p></td>
 <?php echo $receita; ?>
 <?php echo $despesa; ?>
 Referente:
 <?php echo "" . obter_nome_referente($row['id_referente']) . "" ?>
 Modalidade:

</tr>
</table>
<?php $sql = "SELECT despesa, id_utilizador, data, id_referente_despesa FROM despesas_valores";
$result = mysql_query($sql);
echo "<table border='1' cellspacing='0' align='center'>";
echo "<tr class='reservas'>
<th>Modalidade</th>
<th>Data</th>
<th>Referente</th>
<th>Valor</th>
</tr>";
while($row = mysql_fetch_array($result))
{
$saldo_actual = $row['receita'] - $row['despesa'];
echo "<tr><td>";
echo $row['id'];
echo "</td>";
echo "<td>";
echo $row['data'];
echo "</td>";
echo "<td>";
echo "" . obter_nome_referente($row['id_referente_despesa']) . "";
echo "</td>";
echo "<td>";
echo $row['despesa'];
echo "</td></tr>";
}
echo "</table>";
?>

Por exemplo eu escolho no "select option" a opção carro e ele insere correctamente o id do carro na base de dados, só não aparece correctamente na tabela.

É esta parte do codigo que penso estar incorrecta:

<?php $sql = "SELECT despesa, id_utilizador, data, id_referente_despesa FROM despesas_valores";
$result = mysql_query($sql);
echo "<table border='1' cellspacing='0' align='center'>";
echo "<tr class='reservas'>
<th>Modalidade</th>
<th>Data</th>
<th>Referente</th>
<th>Valor</th>
</tr>";
while($row = mysql_fetch_array($result))
{
$saldo_actual = $row['receita'] - $row['despesa'];
echo "<tr><td>";
echo $row['id'];
echo "</td>";
echo "<td>";
echo $row['data'];
echo "</td>";
echo "<td>";
echo "" . obter_nome_referente($row['id_referente_despesa']) . "";
echo "</td>";
echo "<td>";
echo $row['despesa'];
echo "</td></tr>";
}
echo "</table>";

agradecia a ajuda de todos obrigado! 😉

Link to comment
Share on other sites

  • Replies 47
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

na pagina funcoes.php

<?php
// num ficheiro de funções podes criar uma função que obtenha o nome do utilizador para nao estares a repetir codigo!
function obter_nome_referente( $id ){
$sql = "SELECT despesas.despesa FROM despesas_valores
inner join despesas on despesas_valores.id_referente_despesa = despesas.id";
$rs  = mysql_query($sql);

while($row = mysql_fetch_array($rs))
{
 return $row['despesa'];
}
}
?>
Link to comment
Share on other sites

este é o código que popula o teu select :

$result = mysql_query('SELECT id, receita FROM receitas');
...
while ($row = mysql_fetch_array($result))
   echo '<option value="'.$row['id'].'">'.$row['receita'].'</option>';

e este é o código que tens para ler a base de dados

function obter_nome_referente( $id ){
 $rs  = mysql_query("SELECT despesas.despesa FROM despesas_valores inner join despesas on despesas_valores.id_referente_despesa = despesas.id");
 $row = mysql_fetch_array($rs);
 return $row['despesa'];
}

isso para não falar que nem sequer usas o argumento da função ($id) !!!

alhos e bugalhos não são a mesma coisa ...

Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

eu vi bem ... tu é que estás a fazer confusão:

if($_SERVER['REQUEST_METHOD'] == 'POST'){
 $receita = ($_POST['receita']);
 $id_referente = ($_POST['referente']); // <---------- qual o nome do input ??
}
...
$result = mysql_query('SELECT id, receita FROM receitas');
echo '<select name="referente">'; // <---------- qual o nome do input ??
...
$result = mysql_query('SELECT id, despesa FROM despesas');
echo '<select name="selector">'; // <---------- qual o nome do input ??
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

eu vi bem ... tu é que estás a fazer confusão:

if($_SERVER['REQUEST_METHOD'] == 'POST'){
 $receita = ($_POST['receita']);
 $id_referente = ($_POST['referente']); // <---------- qual o nome do input ??
}
...
$result = mysql_query('SELECT id, receita FROM receitas');
echo '<select name="referente">'; // <---------- qual o nome do input ??
...
$result = mysql_query('SELECT id, despesa FROM despesas');
echo '<select name="selector">'; // <---------- qual o nome do input ??

Não percebi qual foi o problema. nome do input num é "referente" noutro é "selector".

Link to comment
Share on other sites

os dois, só que eu gostava de saber tambem alguma maneira de como fazer as duas funcoes da despesa e da receita.

estás mesmo a guardar os dois ?

//guarda os dados em variáveis
$receita = ($_POST['receita']);
$id_referente = ($_POST['referente']);
$id_utilizador = (int)$_SESSION['id'];
$data = date('d/m/Y');

mysql_query("INSERT INTO receitas_valores (id_utilizador, `receita`, `data`, `id_referente_receita` ) VALUES('$id_utilizador', '$receita', '$data', '$id_referente')");

diz no código acima onde estás a gravar a informação do input "selector" ???

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

no codigo acima nao está mas esta aqui:


if (!empty($_POST['despesadinheiro'])) {
if($_SERVER['REQUEST_METHOD'] == 'POST'){

//guarda os dados em variáveis
$despesa = ($_POST['despesa']);
$id_referente = ($_POST['selector']);

if ($despesa == "" && $id_referente == "")
{
echo "";
}
else {

$id_utilizador = (int)$_SESSION['id'];
$data = date('d/m/Y');


$sql = mysql_query("INSERT INTO despesas_valores (id_utilizador, `despesa`, `data`, `id_referente_despesa` ) VALUES('$id_utilizador', '$despesa', '$data', '$id_referente')") or die(mysql_error());
}
}
}
Link to comment
Share on other sites

if (!empty($_POST['receitadinheiro'])) {
if($_SERVER['REQUEST_METHOD'] == 'POST'){
//guarda os dados em variáveis
$receita = ($_POST['receita']);
$id_referente = ($_POST['referente']);
if ($receita == "" && $id_referente == "")
{
echo "";
}
else {
$id_utilizador = (int)$_SESSION['id'];
$data = date('d/m/Y');
$sql = mysql_query("INSERT INTO receitas_valores (id_utilizador, `receita`, `data`, `id_referente_receita` ) VALUES('$id_utilizador', '$receita', '$data', '$id_referente')") or die(mysql_error());
}
}

Edited by joaocasta
Link to comment
Share on other sites

afinal qual é !!!!

esta

if (!empty($_POST['receitadinheiro'])) {
if($_SERVER['REQUEST_METHOD'] == 'POST'){
//guarda os dados em variáveis
$receita = ($_POST['receita']);
$id_referente = ($_POST['referente']);
if ($receita == "" && $id_referente == "")
{
echo "";
}
else {
$id_utilizador = (int)$_SESSION['id'];
$data = date('d/m/Y');

$sql = mysql_query("INSERT INTO receitas_valores (id_utilizador, `receita`, `data`, `id_referente_receita` ) VALUES('$id_utilizador', '$receita', '$data', '$id_referente')") or die(mysql_error());
}
}
}

ou

if (!empty($_POST['despesadinheiro'])) {
if($_SERVER['REQUEST_METHOD'] == 'POST'){

//guarda os dados em variáveis
$despesa = ($_POST['despesa']);
$id_referente = ($_POST['selector']);

if ($despesa == "" && $id_referente == "")
{
echo "";
}
else {

$id_utilizador = (int)$_SESSION['id'];
$data = date('d/m/Y');


$sql = mysql_query("INSERT INTO despesas_valores (id_utilizador, `despesa`, `data`, `id_referente_despesa` ) VALUES('$id_utilizador', '$despesa', '$data', '$id_referente')") or die(mysql_error());
}
}
}
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

sem saber que elemento deve ser apresentado "referente" ou "selector" como achas que a função "obter_nome_referente" pode fazer sentido ??

<?php
// num ficheiro de funções podes criar uma função que obtenha o nome do utilizador para nao estares a repetir codigo!
function obter_nome_referente( $id ){
$sql = "SELECT despesas.despesa FROM despesas_valores
inner join despesas on despesas_valores.id_referente_despesa = despesas.id";
$rs  = mysql_query($sql);

while($row = mysql_fetch_array($rs))
{
 return $row['despesa'];
}
}
?>

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.