如何在PHP中循环数据 [英] How to loop a data in php

查看:90
本文介绍了如何在PHP中循环数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想像这样循环我的数据

I want to loop my data Like this

喜欢这样

不喜欢

我的控制器:

function bills($patient_id){
    $data['payments'] = $this->model_patient->getpayments($patient_id);
    $this->load->view('includes/header');
    $this->load->view('billing', $data);
    $this->load->view('includes/footer');
}

我的模型://加入我的3个表,我想显示过程该患者支付的费用以及所有已支付的费用。

My Model: // joining my 3 tables, i want to display the procedures made by this patients and all the payments made.

function getpayments($patient_id){
    $this->db->select('*');
    $this->db->from('treatmentrecord as tr');
    $this->db->join('patientprofile as pr','pr.patient_id = tr.patient_id');
    $this->db->join('billedrecord as br','br.treatment_id = tr.treatment_id');
    $this->db->where('tr.patient_id', $patient_id);

    $query = $this->db->get();

    return $query->result();
}

我的视图:

<table>
<thead>
    <tr>
        <td>Procedures</td>
        <td>Payments</td>
    </tr>
</thead>
<?php foreach ($payments as $payments): ?>

<tbody>
    <tr>
        <td><?php echo $payments->procedures; ?></td>
        <td><?php echo $payments->bill_paid; ?></td>
    </tr>
</tbody>
<?php endforeach ?>

</table>

我希望有人可以帮助我。

I hope someone can help me with this.

OP:
Array(
[0] => stdClass对象

[treatment_id] => 1
[procedures] => ProcedureName1
[patient_id] => 1
[bill_id] => 3
[bill_paid] => 500

OP: Array( [0] => stdClass Object ( [treatment_id] => 1 [procedures] => ProcedureName1 [patient_id] => 1 [bill_id] => 3 [bill_paid] => 500 )

[1] => stdClass Object
    (
        [treatment_id] => 5
        [procedures] => ProcedureName3
        [patient_id] => 1
        [bill_id] => 4
        [bill_paid] => 2323
    )

[2] => stdClass Object
    (
        [treatment_id] => 1
        [procedures] => ProcedureName1
        [patient_id] => 1
        [bill_id] => 5
        [bill_paid] => 2555
    )

[3] => stdClass Object
    (
        [treatment_id] => 6
        [procedures] => ProcedureName2
        [patient_id] => 1
        [bill_id] => 6
        [bill_paid] => 2555
    )

[4] => stdClass Object
    (
        [treatment_id] => 1
        [procedures] => ProcedureName1
        [patient_id] => 1
        [bill_id] => 7
        [bill_paid] => 23232
    )

[5] => stdClass Object
    (
        [treatment_id] => 5
        [procedures] => ProcedureName3
        [patient_id] => 1
        [bill_id] => 8
        [bill_paid] => 2323
    )

推荐答案


  • 首先对 $ payments 进行排序程序如下:

    • First sort the $payments with respect to procedures like below:
    • 代码段:

      usort($payments,function($a,$b){
          return strcmp($a->procedures,$b->procedures);
      });
      




      • 现在,您可以在循环时利用元素的索引。因此,如果它的第一个索引或名称与先前的索引不匹配,则只打印它,否则打​​印一个空字符串。

      • 摘要:

        <table>
        <thead>
            <tr>
                <td>Procedures</td>
                <td>Payments</td>
            </tr>
        </thead>
        <?php foreach ($payments as $index => $payment): ?>
        
        
        <tbody>
            <tr>
                <td><?= $index === 0 || $payment->procedures != $payments[$index - 1]->procedures  ? $payment->procedures : ''; ?></td>
                <td><?= $payment->bill_paid; ?></td>
        
            </tr>
        
        
        </tbody>
        <?php endforeach; ?>
        

        这篇关于如何在PHP中循环数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆