繁体   English   中英

具有由2个mysql查询填充的动态行的HTML表

[英]HTML table with dynamic rows populated by 2 mysql queries

简要了解我要完成的工作

上面是我要做什么的简要说明。只需按优先级顺序获取费用项目的费用类型和金额即可。忽略已付费或已支付的费用类型项目。 我的Sqlfiddle中有3个表:

  1. fee_payments包含已支付的金额,将在屏幕快照列C中捕获
  2. Fee_types是要在屏幕快照列B中捕获的。fee_types具有优先级,这样,付款应从最高优先级BES开始反映,直到金额结束。
  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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM