У меня небольшая проблема со страницей администратора базы данных, которую я использую для обновления значений и итогов в базе данных MySQL для создания различных цифр и данных для веб-сайта.
Немного предыстории - рассматриваемая таблица базы данных содержит итоги сбора средств для благотворительного книжного киоска, причем таблица имеет три столбца - идентификатор, дату и сумму сбора. Суммирование итогов, собранных за определенный год или текущий год, не является проблемой - у меня уже есть промежуточные итоги с февраля прошлого года, когда начался сбор средств, и один за текущий год, и это работает отлично. Я только что понял, хотя, добавляя в итоговую сумму поднятой на этой неделе, что, хотя я знаю общую сумму всех привлеченных средств и сколько было собрано за этот год, нигде не показано итоговое значение за прошлый год. Очевидно, что за этот год я могу просто взять итоговую сумму за этот год из общей суммы, но мне действительно нужно итоговую сумму за каждый год, который будет показан.
У меня есть таблица, отображаемая на странице, которая показывает целевые показатели по сбору средств на каждый год, и я хочу добавить итоговое значение за год в эту таблицу, чтобы со временем мы могли видеть как целевой показатель для каждого года, так и сумму, собранную в этом году. .
В бите страницы, где отображается промежуточный итог, у меня есть следующее, которое отображает общий итог и итоговый результат за текущий год:
$result = mysql_fetch_array($query);<br>
$sumtotal = $result["sum_total"]; </p>
<p>$query2 = mysql_query("SELECT SUM(amountraised) AS year_total FROM fundraisingtotal WHERE YEAR(<code>date
) = ГОД (КУРДАТА ()); ");
$ 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><br>
<p class="dbpara">The current fundraising total for this year (<?php echo date('Y'); ?>) is <b>£<? echo "$yeartotal"; ?></b>.</p>
Также на той же странице у меня отображаются целевые показатели по сбору средств, и именно с этим битом у меня возникла проблема, отчасти потому, что данные по сбору средств объединяют данные в отдельной таблице с годовыми целями (годовые цели в таблице с указанием только года и цели), а отчасти потому, что таблица, отображающая годовую цель, использует цикл while для записи данных из базы данных на страницу. Это код, который я использую для записи таблицы и данных (я поместил ячейку таблицы для итоговой суммы, но для нее явно нет кода):
<code><?php
$query="SELECT * FROM annualtarget ORDER BY year DESC";
$result=mysql_query($query);<br>
$num = mysql_num_rows ($result);<br>
if ($num > 0 ) {<br>
$i=0;<br>
while ($i < $num) {<br>
$year = mysql_result($result,$i,"year");<br>
$target = mysql_result($result,$i,"target");<br>
$id = mysql_result($result,$i,"id");<br>
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>";<br>
++$i; } } else { echo "<tr><td colspan=\"4\">The database is empty!</td></tr>"; }<br>
mysql_close();<br>
?>
Очевидно, потому что мне понадобится другой запрос для вычисления итогов за год, но я не могу понять, как я могу обработать это в цикле while. Я мог бы использовать дату из таблицы сумм по сбору средств, отделив бит года от даты, но поскольку цель для каждого года находится в другой таблице, которая не будет работать, и я действительно не хочу, чтобы закодируйте год и его общее количество в базе данных, чтобы показать, когда я смогу (если смогу выяснить, как это сделать) использовать базу данных для ее расчета.
Я, вероятно, упускаю что-то смехотворно очевидное здесь, но я не могу понять это. Кто-нибудь знает, как я могу это сделать?