0

私は妻のために経費トラッカーを構築中であり、私は PHP/MySQL を使用しています。私はすでにデータベース、テーブル、適切な PHP ファイルなどを正常に構築しています。私が今望んでいるのは、経費列に入力されたすべての数値を合計し、預金列にも入力されたすべての数値を追加することです。私が構築したPHP「エコー」ファイル内の適切な列の下のテーブルの下部にそれらを表示します。

これが私が構築したものです:

<html>
<head>  
   <title>Budget</title>  
   <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;">
        <style type="text/css">
             INPUT[type="text"] { font-size: 14pt }
             INPUT[type="password"] { font-size: 14pt }
        </style>  
        <link rel="apple-touch-icon" href="images/template/engage.png"/>
   </head>  
   <body BGCOLOR=#FFFFFF onorientationchange="updateOrientation();" >
<div id="page_wrapper">
    <h1><img src="Budjet1.gif"></h1>
    <div id="content_left">

<hr>
<?php
$username="username";
$password="password";
$database="database_name";

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM table";
$result=mysql_query($query);
$num=mysql_numrows($result);

mysql_close();
?>
<table border="1" cellspacing="2" cellpadding="2">
<tr>
<td><font face="Arial, Helvetica, sans-serif"><b>Day</b></font></td>
<td><font face="Arial, Helvetica, sans-serif"><b>Month</b></font></td>
<td><font face="Arial, Helvetica, sans-serif"><b>Year</b></font></td>
<td><font face="Arial, Helvetica, sans-serif"><b>Transaction</b></font></td>
<td><font face="Arial, Helvetica, sans-serif"><b>Category</b></font></td>
<td><font face="Arial, Helvetica, sans-serif"><b>Deposit</b></font></td>
<td><font face="Arial, Helvetica, sans-serif"><b>Expense</b></font></td>
<td><font face="Arial, Helvetica, sans-serif"><b>Notes</b></font></td>
</tr>

<?php
$i=0;
while ($i < $num) {

$f1=mysql_result($result,$i,"Day");
$f2=mysql_result($result,$i,"Month");
$f3=mysql_result($result,$i,"Year");
$f4=mysql_result($result,$i,"Transaction");
$f5=mysql_result($result,$i,"Category");
$f6=mysql_result($result,$i,"Deposit");
$f7=mysql_result($result,$i,"Expense");
$f8=mysql_result($result,$i,"Notes");
?>

<tr>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f4; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f5; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f6; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f7; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f8; ?></font></td>
</tr>
<?php
$i++;
}
?>
</table>
                 <p><font face="arial" color="#000000" size="4"><a href="enter.php">Make another entry!</a></font></p>
                 <p><font face="arial" color="#000000" size="4"><a href="logout.php">Logout</a></font></p>
</div>
</div>
</body>
</html>

そこで私がやりたいのは、スクリプトで「経費」列のすべての値を加算し、その結果を経費列の下に表示することです。「入金」欄も同様です。

私はこのようなことに慣れていないので、あなたが与えることができるどんな助けも大歓迎です. 私は以下を使用してテストしました:

$sql = "select sum(column) from table";
$q = mysql_query($sql);
$row = mysql_fetch_array($q); 

その後...

echo 'Sum: ' . $row[0];

しかし、表の一番下に表示することができませんでした。代わりに、1 行おきに表示されました。また、2 つの別々の行の結果を取得する方法がわかりません。

よろしくお願いします。

4

1 に答える 1

0

とにかくすべてのデータをクエリしているので、PHPコード内で合計を計算するだけです。このようなもの:

$expenseTotal = 0;

while ($row = mysql_fetch_assoc($result)) 
{
    $expense = $row['Expense'];
    $expenseTotal += $expense;

    echo "<tr><td>$expense</td></tr>"; //TODO: add other columns
}

echo "<tr><td>$expenseTotal</td></tr>";
于 2013-02-16T19:30:50.023 に答える