我有一个数据库管理页面的小问题,我使用它来更新MySQL数据库中的值和总计,以便为网站生成各种数据和数据。用MySQL/PHP按年份总和值
有点背景 - 有问题的数据库表持有慈善书摊的筹款总数,该表有三列 - id,date和amountraised。总结特定年份或当年筹得的总额并不是问题 - 我已经从去年2月筹款开始时获得一笔总额,而当年的筹款总额已经很好。我刚刚意识到,尽管本周增加了总额,虽然我知道所有筹集的资金总额,今年到目前为止已经筹集了多少,但去年的总额没有任何显示。很明显,今年我可以把今年的总数从总数中扣除,但我真的需要每年的总数来显示。
我在页面上显示了一个表格,显示了每年的筹款目标,并且我希望在该表格中添加年度总额,以便随着时间的推移我们可以看到每年的目标和筹集的金额年。
在显示的运行总计页面的位,我有以下,这显示总计,并且总本年度:
$result = mysql_fetch_array($query);
$sumtotal = $result["sum_total"];
$query2 = mysql_query("SELECT SUM(amountraised) AS year_total FROM fundraisingtotal WHERE YEAR(
date
)= YEAR(CURDATE());” );
$ RESULT2 = mysql_fetch_array($ QUERY2);
$ yeartotal = $ RESULT2 [ “year_total”];
>
<p class="dbpara">The current fundraising total since February 2009 is <b>£<? echo "$sumtotal"; ?></b>.</p>
<p class="dbpara">The current fundraising total for this year (<?php echo date('Y'); ?>) is <b>£<? echo "$yeartotal"; ?></b>.</p>
而且在同一页上我有f的显示?而这正是我遇到的问题,部分原因是筹款总计数据与年度目标分别列在一张表格中(年度目标在表格中只有年份和目标),部分原因是该表格显示年度目标使用while循环将数据从数据库写出到页面。这是我用写出来的表和数据的代码(我已经把表单元格中筹集的,但显然没有代码它):
<?php $query="SELECT * FROM annualtarget ORDER BY year DESC"; $result=mysql_query($query);
$num = mysql_num_rows ($result);
if ($num > 0) {
$i=0;
while ($i < $num) {
$year = mysql_result($result,$i,"year");
$target = mysql_result($result,$i,"target");
$id = mysql_result($result,$i,"id");
echo "<tr><td class=\"yr\"> $year </td><td class=\"tg\"> £$target </td><td class=\"total\"> ???? </td><td class=\"update\"><a href=\"updatetarget.php?id=$id\">Update</a></td><td class=\"delete\"><a href=\"delete.php?id=$id\">Delete</a></td></tr>";
++$i; } } else { echo "<tr><td colspan=\"4\">The database is empty!</td></tr>"; }
mysql_close();
?>
显然是因为我需要一个不同的查询来计算一年的总计,但是我无法弄清楚如何在while循环中工作。我可以使用筹款金额表中的日期来区分日期的年份,但由于每年的目标位于不同的表格中,所以无法正常工作,编码数据库中的年份和总数只是为了显示,如果我可以(如果我能弄清楚如何去做),可以使用数据库来计算它。
我可能在这里丢失了一些可笑的东西,但我无法弄清楚。有没有人有任何想法我可以做到这一点?
感谢抬起头。排序。 ;-) – BlissC 2010-01-28 09:34:08