使用php mysqli创建分类帐簿,并根据DR和CR获得余额
我已经在管理区创建了一个PHP账本系统来管理客户账户金额 我在phpmyadmin中创建了下表: 我已尝试使用以下代码获得结果:使用php mysqli创建分类帐簿,并根据DR和CR获得余额,php,mysql,Php,Mysql,我已经在管理区创建了一个PHP账本系统来管理客户账户金额 我在phpmyadmin中创建了下表: 我已尝试使用以下代码获得结果: $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))
$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>
$list\u balance=mysqli\u query($con\u db,“从tbl\u balancesheet中选择*,其中客户id=”)。$u GET['cid']。“'ORDER by id desc”);
$total=0;
while($row=mysqli\u fetch\u数组($list\u balance)){
如果($row['action\u type']=='dr'){
$debit=$row['amount'];
$total+=$row['amount'];
}否则{
$credit=$row['amount'];
$total-=$row['amount'];
}
我得到以下结果,但我不想在天平前面显示负(-)图标:
另外,我想先显示最后一个条目,但结果显示不正确
预期结果应如下所示
请帮助我如何获得上述结果,以及如何显示dr和cr
Ex:如果管理员只向客户要钱400。但有时客户向管理员预付了款项,然后客户向管理员借钱。在这种情况下,有时管理员向客户付款,有时客户向管理员付款
谢谢
我不想在天平前面显示负(-)图标:
您应该使用以下功能:
<td><?php echo abs($total); ?></td>
另外,我想先显示最后一个条目,但结果显示不正确
在代码中,在sql查询中有orderbyid desc
,这意味着按id降序(最后插入的条目排在第一位)
如果要将顺序更改为升序,请从查询中删除desc
我不想在天平前面显示负(-)图标:
您应该使用以下功能:
<td><?php echo abs($total); ?></td>
另外,我想先显示最后一个条目,但结果显示不正确
在代码中,在sql查询中有orderbyid desc
,这意味着按id降序(最后插入的条目排在第一位)
如果要将顺序更改为升序,请从查询中删除
desc
。您现在得到的是什么输出?问题是什么?@nik,让我添加有问题的输出快照。无论顺序如何,无论-
,我认为真正的问题应该是:“余额”列如何显示“400”在实际结果的第一行?$total
在第一行应该是700。并不是所有的代码都显示出来(例如:while的结尾在哪里?}
),所以可能谜团在于未列出的代码。您现在得到了什么输出?问题是什么?@nik,让我添加有问题的输出快照。无论顺序如何,无论-
,我认为真正的问题应该是:“balance”列如何在实际结果的第一行显示“400”<代码>第一行的$total应为700。并不是所有的代码都显示出来(例如:while的结束代码在哪里?),所以可能神秘在于未列出的代码。更改后,按id排序的ASC
,不需要添加abs
功能。谢谢你的回答。我怎样才能把DR和CR列在平衡栏中?你能帮帮我吗?你到底是什么意思?你能举个例子吗?要显示,您需要在相应的单元格中回显所需的值。我在这里又发布了一个问题[.您可以查看示例。我只想在单独的报告中获取债务人和债权人。感谢更改后,按id排序ASC
,不需要添加abs
功能。感谢您的回答。我如何才能在余额列中获取DR和CR?请您帮助我。您的确切意思是获取什么?您能否提供一个示例?要显示,您需要在相应的单元格中回显所需的值。我在此处又发布了一个问题[。您可以用示例进行检查。我只想在单独的报告中获取债务人和债权人。谢谢