2013-02-16 1 views
0

Я нахожусь в процессе создания отслеживания расходов для моей жены и я, используя PHP/MySQL. Я уже успешно создал базу данных, таблицы, соответствующие файлы PHP и т. Д. Теперь я надеюсь добавить все числовые значения, введенные в столбец расходов, и добавить все числовые значения, введенные в столбце депозита, а также и отобразите их в нижней части таблицы под соответствующими столбцами в файле PHP «echo», который я создал.Как добавить результаты двух столбцов mysql и результатов эха в php/html doc

Вот что я построил:

<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

[** Пожалуйста, не используйте 'mysql_ *' функции в новом коде **] (http://bit.ly/phpmsql). Они больше не поддерживаются [и официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). См. [** красное поле **] (http://j.mp/Te9zIL)? Узнайте о [* подготовленных операторах *] (http://j.mp/T9hLWi) и используйте [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/ mysqli) - [эта статья] (http://j.mp/QEx8IB) поможет вам решить, какой из них. Если вы выберете PDO, [здесь хороший учебник] (http://j.mp/PoWehJ). –

ответ

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>";