我不放弃如何措辞。我有一个数据库,用于存储与客户发票有关的数据。在数据库中是客户“ Date”(过程数据),“ Due_Date”(应付款的日期)和“ Aging”(应过期的天数)
我想做的是获取其“ Due_Date”并减去当前日期,然后更改其老化值。我希望在按下“刷新”按钮时完成此操作,因为我使用php将数据库添加到了表中。
Home.php
<button class="btn btn-primary" id="RefreshBtn">Refresh</button>
</div>
</div>
<div class="row">
<div class="col-md-12">
<table class="table table-bordered table-striped table-responsive sortable" id="MyTable">
<tr class="header">
<td>id</td>
<td>Rep</td>
<td>Date</td>
<td>Name</td>
<td>P_O</td>
<td>Due Date</td>
<td>Terms</td>
<td>Aging</td>
<td>Open Balance</td>
<td>remove</td>
</tr>
<?php
while($row = mysql_fetch_array($query)) {
$className ="";
if ($row['Aging'] >= 45)
{
$className="danger";
}
else if($row['Aging'] >= 25 && $row['Aging'] <= 44)
{
$className="warning";
}
echo "<tr class='$className'>";
echo "<td>".$row['id']."</td>";
echo "<td>".$row['Rep']."</td>";
echo "<td>".$row['Date']."</td>";
echo "<td>".$row['Name']."</td>";
echo "<td>".$row['P_O']."</td>";
echo "<td>".$row['Due_Date']."</td>";
echo "<td>".$row['Terms']."</td>";
echo "<td>".$row['Aging']."</td>";
echo "<td>".$row['Open_Balance']."</td>";
echo "<td><a href='deletepage.php?id=" .$row['id']. "' value='" .$row['id']. "' class='btn btn-success'> Paid</a></td>";
}
?>
</table>
我将如何实现这一目标?我被困住了,甚至还没有开始。
最佳答案
当这是一个甚至不需要存储的计算字段时,我也不会遇到所有麻烦。
为什么不从数据库中完全删除Aging字段,并通过查询来计算其值(请注意DATEDIFF):
$query = mysql_query("SELECT id, rep, Date, Name, P_O, Due_Date, " .
"Terms, GREATEST(DATEDIFF(NOW(), Due_Date), 0) AS Aging, " .
"Open_Balance from Book1");
这样,只要刷新页面,SQL就会实时进行计算,从而为您提供Aging值,而无需更新。
如果您需要Aging字段在数据库中进行更多处理,请考虑使用包含此Aging表达式的数据库视图。