foreach连接foreach并选择SUM

时间:2017-08-24 21:53:05

标签: php function foreach codeigniter-3 public

如何在查询WHERE中将foreach与另一个foreach联系起来。 我已经在第二个Foreach中存储了具有第一个ID的ID的内容,并希望在相应的列中显示它。 因此,如果在第二列db_buy.tb_buy_shop中有ID 2,则应该在HTML列中显示db_shop.tb_shop_id 2。

视图:

<?php
    foreach ($shops_where_1 as $shop_where_1):
        foreach ($buy_sums as $buy_sum):
            if($buy_sum['tb_buy_shop']==$shop_where_1['tb_shop_id']) {
                $gesamtsumme = $buy_sum['gesamtsumme'];
            }
        endforeach;
?>
        <tr>
            <td><?php echo $shop_where_1['tb_shop_name']; ?></td>
            <td></td>
            <td><div class="input-group"><div class="input-group-addon">€</div><input type="text" class="form-control" value="<?php echo number_format($buy_sum['gesamtsumme'],2,",",".");?>" disabled></div></td>
            <td><div class="input-group"><div class="input-group-addon">€</div><input type="text" class="form-control" value="<?php echo number_format($gesamtsumme,2,",",".");?>" disabled></div></td>
            <td></td>
            <td></td>
        </tr>
<?php
        // endforeach;
    endforeach;
?>

型号:

public function shops_where_1()
{
    $this->db->select('*');
    $this->db->from('db_shop');
    $this->db->where('db_shop.tb_shop_buy = 1');
    $this->db->order_by('tb_shop_name');
    $query = $this->db->get();
    return $query->result_array();
}

public function buy_sums()
{
    $this->db->select('(SELECT SUM(db_buy.tb_buy_gesamt) FROM db_buy) AS gesamtsumme');
    $this->db->select('(SELECT SUM(db_buy.tb_buy_abbezahlt) FROM db_buy) AS abbezahlt', FALSE);
    $this->db->select('tb_buy_shop');
    $this->db->from('db_buy');
    $query = $this->db->get();
    return $query->result_array();
}

控制器:

public function buy_shop($slug)
{
    // if (!$this->session->userdata('logged_in'))
        // {
            // redirect('users/login');
        // }
    $data['get_shops'] = $this->Admin_model->get_shops($slug);
    $data['shops_where_1'] = $this->Admin_model->shops_where_1();
    $this->load->view('templates/header_acp');
    $this->load->view('admin/buy_shop', $data);
    $this->load->view('templates/footer');
}

Excpected enter image description here

2 个答案:

答案 0 :(得分:0)

如果我对你的要求是正确的,那么你似乎只是想知道如何格式化代码以便构建表格。这将是如何做到的。

<?php
foreach ($shops_where_1 as $shop_where_1):
 ?> <tr>
    <td><?php echo $shop_where_1['tb_shop_name']; ?></td>
<?php
    foreach ($buy_sums as $buy_sum):
        if($buy_sum['tb_buy_shop']==$shop_where_1['tb_shop_id']) {
          ?>
        <td><div class="input-group"><div class="input-group-addon">€</div><input type="text" class="form-control" value="<?php echo number_format($buy_sum['gesamtsumme'],2,",",".");?>" readonly></div></td>
<?php
        }
    endforeach; // endforeach 2
    </tr>
endforeach; // endforeach 1;
?>

答案 1 :(得分:0)

不幸的是,没有。第二个foreach的总和不正确。商店的ID 3只有10.00,但它来自102.31 enter image description here