在codeigniter中不使用查询构建器来总计总计

时间:2018-03-25 08:55:13

标签: php html codeigniter

我想找到每位医生的欠款,并显示结果。

我的控制器

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>

我的数据库是这样的 enter image description here

我希望拖欠的总数应为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

1 个答案:

答案 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表中看到它