![](/img/trans.png)
[英]Email to rows in html table populated with data from mysql database via while loop
[英]HTML table with dynamic rows populated by 2 mysql queries
上面是我要做什么的简要说明。只需按优先级顺序获取费用项目的费用类型和金额即可。忽略已付费或已支付的费用类型项目。 我的Sqlfiddle中有3个表:
如果先前的付款已经涵盖了第1个项目,那么它应该从当前项目开始。 示例场景。 如果最初支付550且现在支付400,则应该从Ltt开始,金额为20,EWC 200,RMI 180.因为250比利时先令和300的LTT的一部分已经支付
这是我的html和php代码尝试
<?php
$sql = "SELECT t.type,p.amount as payable FROM fee_types t INNER JOIN fee_periods p ON t.feetype_id = p.feetype_id
WHERE p.term_name='Term 1' AND p.class_for='Class 1' order by t.type_priority ASC ";
$result = mysql_query($sql) or die('Cannot get Info7.');
$row5 = mysql_fetch_assoc($result);
extract($row5);
$sql = "SELECT * , DATE_FORMAT( pay_date, '%d/%m/%Y' ) AS pay_date FROM fees_payment WHERE adminNo = '$adminNo' AND term_id = '$term_id'
ORDER BY pay_id DESC";
$result = mysql_query($sql) or die('Cannot get Info.');
?>
<table width="700" border="1" cellspacing="0" cellpadding="5">
<tr>
<td width="5%"><strong>ID</strong></td>
<td width="42.5%"><strong>Fee Type</strong></td>
<td width="42.5%"><strong>Amount</strong></td>
</tr>
<?php
if (mysql_num_rows($result) > 0) {
$i = 0;
while($row = mysql_fetch_assoc($result)) {
extract($row);
if ($i%2) {
$class = 'row1';
} else {
$class = 'row2';
}
$i += 1;
?>
<tr>
<td>#</td>
<td><?php if ($payable<$amount) {echo $type;} ?></td>
<td><?php echo number_format($amount,2);?></td>
</tr>
<?php
}
}
else{
echo 'No Details for now.';
}
?>
</table>
这就是我会做的。 具有这样的表结构
student_details(id,name,class..)//student table
fee_terms(term_id,class,total_fee)//Entry for fees to be paid by student in that class
fee_term_specifics(item_id,total_amount,term_id)//items paid for in that term
student_payments(stud_id,item_id,amt_paid,date_paid)//Store student payments
在输入费用支付期间,业务员选择一个学生,系统会生成一个列表,列出学生未支付的项目及其余额。(feel_term_specifics和student_payments的总和)。
让店员输入学生已支付的总金额,系统将根据该总金额将其分配到特定项目,直到用完所有已支付的金额。
注意:店员应该能够改变分配。
提交表格后,将数据保存在student_payments表中。
提示::具有一个表格,其中包含所有付款类型的输入,但仅显示尚未付款的输入。 您可以使用javascript方法根据项目的重量分配学生付款。 也有一种方法来处理超额付款的情况。 您可以有一个名为“超额付款”的项目类型,该项目类型会在最后填写。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.