包含2个mysql查询的动态行的HTML表

时间:2015-02-13 07:49:47

标签: php mysql

Brief look at what I want to accomplish

以上是我想要做的简要概述。只需按优先顺序获取费用项目的费用类型和金额。已经支付或涵盖的费用类型项目。 我的Sqlfiddle中有3个表:

  1. fee_payments包含支付金额,将在屏幕截图列C
  2. 中捕获
  3. Fee_types是屏幕截图列B中要捕获的内容.fets_types具有优先权,因此付款应反映从最高优先级B.E.S开始直到金额结束。
  4. 费用期限指定支付的期限/期限。
  5. 如果之前的付款已涵盖前几项,则应从当前项开始。 示例方案。如果最初支付550并且现在支付400,则应该从L.t.t开始。金额为20,E.W.C 200,R.M.I 180.因为B.E.S 250和LTT 300的一部分已经支付了

    这是我的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>
    

1 个答案:

答案 0 :(得分:1)

我就是这样做的。 有这样的表结构

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

在输入费用支付期间,职员选择一名学生,并且系统会生成一份列表,列出未由学生支付的项目及其余额。(费用特定项目和学生支付的加入)。

让职员输入学生已经支付的总金额,系统将金额分配给特定项目,直到付款金额用尽为止。

NB :: 职员应该可以改变分配。

提交表格后,将数据保存在student_payments表中。

提示:: 拥有包含所有付款类型输入的表单,但仅显示尚未付款的付款方式。您可以使用javascript方法根据项目权重分配学生付款。还有办法处理超额付款的情况。您可以拥有一个名为超额付款的项目类型,该类型最后填写。