使用php mysqli创建分类帐簿并根据DR和CR获得余额

时间:2019-04-03 13:07:36

标签: php mysql

我已经在管理区域中创建了一个PHP分类帐系统,用于管理客户帐户金额。

我已经在phpmyadmin中创建了下表:

enter image description here

我尝试使用以下代码获取结果:

$list_balance = mysqli_query($con_db,"SELECT * FROM tbl_balancesheet where client_id='".$_GET['cid']."' ORDER by id desc" );
$total = 0;
while($row = mysqli_fetch_array($list_balance)){
if($row['action_type']=='dr'){
    $debit = $row['amount'];
    $total += $row['amount'];
}else{
    $credit = $row['amount'];
    $total -= $row['amount']; 
}
<tr>
    <td><?php echo $row['created_date']; ?></td>
    <td><?php echo $row['particular']; ?></td>
    <td>
    <?php 
        if($row['action_type']=='dr'){ 
            echo $debit;
        }else{
            echo ' ';       
        }
    ?>
    </td>
    <td>
    <?php 
        if($row['action_type']=='cr'){ 
            echo $credit;
        }else{
            echo ' ';       
        }
    ?>
    </td>
    <td><?php echo $total; ?></td>
</tr>

我得到以下结果,但是我不想在余额前面显示减号(-):

enter image description here

此外,我想显示最后一个条目,但结果显示不正确。

预期结果应如下所示

enter image description here 请帮助我如何获得上述结果。另外,我如何显示dr和cr。

示例::如果管理员仅向客户 400 要钱。但是有时客户已经向管理员支付了预付款,然后客户从管理员那里借钱。在这种情况下,有时管理员会从客户那里获得一定数量的博士,而有时会从管理员那里来。

谢谢

1 个答案:

答案 0 :(得分:1)

  

我不想在余额前面显示减号(-):

您应该使用abs函数:

<td><?php echo abs($total); ?></td>
  

此外,我想显示最后一个条目,但结果显示不正确。

在代码中,在sql查询中,您有ORDER by id desc,表示按id降序排列(最后插入的条目排在最前面) 如果要将顺序更改为,请从查询中删除desc