我想找到每位医生的欠款,并显示结果。
我的控制器
public function pay_salaries()
{
$salary['salaries'] = $this->db->query("SELECT * FROM salaries WHERE Payment_status IS NULL ORDER BY Salary_id DESC")->result_array();
$this->load->view('backend/admin/pay_salaries',$salary);
}
这个控制器确实做得很好,直到我想要回复医生的所有欠款
视图
<thead>
<tr>
<th>DOCTOR'S NAME</th>
<th>TOTAL PENDING AMOUNT</th>
</tr>
</thead>
<tbody>
<?php foreach ($salaries as $salary):
$doctor_id = $salary['doctor_id'];
$doctor_name = $this->db->query("SELECT * FROM user_details,doctors WHERE Doctor_id='$doctor_id' AND User_details_User_id=User_id")->row_array();
$total_outstanding_amount = $this->db->query("SELECT SUM(Amount) AS Arrears FROM salaries WHERE Payment_status IS NULL AND doctor_id = '$doctor_id'")->result_array();
?>
<tr>
<td><?php echo $doctor_name['Fname'].' '.$doctor_name['Sname']; ?></td>
<td><?php echo $total_outstanding_amount['Arrears']; ?></td>
</tr>
<?php endforeach ?>
</tbody>
我希望拖欠的总数应为5500+500 = 6000
我无法在一天内解决这个问题。请帮忙...提前致谢
我一直得到的错误是
Severity: Notice
Message: Undefined index: Arrears
Filename: admin/pay_salaries.php
Line Number: 79
Backtrace:
File: C:\wamp64\www\Alphadoctors\application\views\backend\admin\pay_salaries.php
Line: 79
Function: _error_handler
答案 0 :(得分:1)
这应该可以帮到你,因为我无法弄清楚你在代码中做了什么。
所以你可以做的是在foreach循环之外设置var $sum = 0;
。
然后你可以尝试
foreach ($sql['Amount_CHANGEME'] as $key => $value)
{
$sum += $value
echo $sum; //should display 6000
}
这个偏移是否正确? $total_outstanding_amount['Arrears']
因为我没有在phpmyadmin表中看到它