我有一个包含一些PHP的页面,如下所示:
<table>
<thead>
<tr>
<th class="wheniwant">Date</th>
<th class="wheniwant">Income Amount</th>
<th class="wheniwant">Expense Amount</th>
</tr>
</thead>
<?php
//DB CONNECTION
$varDatePaid = ""; $varIncomePaid =""; $varExpensePaid = "";
$sql = mysql_query(
"
SELECT DATE_FORMAT(`date_paid`, '%Y-%m') `date_paid`,
SUM(CASE WHEN `categoryType` = 'Income' THEN `amount_paid` END) `IncomeAmount`,
SUM(CASE WHEN `categoryType` = 'Expense' THEN `amount_paid` END) `ExpenseAmount`
FROM `accounting`
GROUP BY DATE_FORMAT(`date_paid`, '%Y-%m')
"
);
while($row = mysql_fetch_array($sql))
{
$varDatePaid = $row['date_paid'];
$varIncomePaid = $row['IncomeAmount'];
$varExpensePaid = $row['ExpenseAmount'];
?>
<tr>
<td><?php echo $varDatePaid; ?></td>
<td><?php echo $varIncomePaid; ?></td>
<td><?php echo $varExpensePaid; ?></td>
</tr>
<?php
}
?>
</table>
返回如下表格:
我想添加一些内容:
$sql_query = "SELECT id, DATE_FORMAT(`date_paid`, '%Y') AS year FROM accounting GROUP BY year ORDER BY year DESC";
$result = mysql_query($sql_query) or die(mysql_error());
while ($row = mysql_fetch_array($result)){
echo '<option value='. $row['year'] . '>'. $row['year'] . '</option>';
创建某种过滤器以将结果限制为特定年份。如何在不离开页面的情况下执行此操作?
答案 0 :(得分:0)
好的,所以你想要阅读here上的AJAX。这并不是很困难,大多数情况下,您可以直接从该网站复制代码。或者,根据您拥有的数据量,如果您不想学习新内容,可以在页面加载时加载整个数据集,然后使用JS在填写表单后选择所需的部分。我建议使用AJAX路线。
有人提到了外部PHP脚本的一些内容,我想这是可能的,但我不确定这是怎么回事。我假设您必须在第一页上使用JS来创建一个说明您想要的cookie,然后打开一个新的选项卡或窗口,在其中执行查询并将值存储为cookie或会话变量,然后使用JS在查询完成时关闭该窗口,然后再次使用JS将查询结果放回页面。我认为这样可行,但似乎不是最有效的方法。