在codeigniter中添加和乘以数组数据

时间:2014-08-08 16:56:25

标签: php mysql arrays codeigniter

我正在尝试在codeigniter中添加和乘以数组数据。我使用以下模型 best_outlet_chart()

function best_outlet_chart(){

        $this->db->select(array(
            'tbl_outlet_registration.outlet_name',
            'tbl_sub_products.sub_product_price',
            'tbl_order_products.quantity',
        ));

        $this->db->from('tbl_outlet_registration');
        $this->db->join('tbl_order_product_details', 'tbl_order_product_details.outlet_id=tbl_outlet_registration.outlet_id');
        $this->db->join('tbl_order_products', 'tbl_order_products.order_id=tbl_order_product_details.order_id');
        $this->db->join('tbl_sub_products', 'tbl_sub_products.sub_product_id=tbl_order_products.product_id','LEFT');
        $query = $this->db->get();
        return $query->result();
    }

上面的代码返回一个像这样的数组

Array
(
    [0] => stdClass Object
        (
            [outlet_name] => Outlet A
            [sub_product_price] => 1000.00
            [quantity] => 1
        )

    [1] => stdClass Object
        (
            [outlet_name] => Outlet A
            [sub_product_price] => 50.00
            [quantity] => 50
        )

    [2] => stdClass Object
        (
            [outlet_name] => Outlet B
            [sub_product_price] => 10.00
            [quantity] => 70
        )

    [3] => stdClass Object
        (
            [outlet_name] => Outlet B
            [sub_product_price] => 10.00
            [quantity] => 1
        )
)

我想将[sub_product_price]分别与插座A 和其他插座中的[数量](sub_product_price *数量)相乘。不是所有的网点都在一起但是是分开的。可以请一些人帮我这个

谢谢! 安

我使用了以下代码,它不是单独给我所有出口的总数。

'SUM(tbl_sub_products.sub_product_price * tbl_order_products.quantity) as amount'

1 个答案:

答案 0 :(得分:0)

由于我没有数据库表结构,因此我准备了一个单独的表格,其中包含您提到的列。

CREATE TABLE `tbl_outlet` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `outlet_name` varchar(255) NOT NULL,
  `sub_product_price` double(10,2) NOT NULL,
  `quantity` int(11) NOT NULL,
  PRIMARY KEY (`id`)
)

你可以使用这样的东西来获取你的结果

SELECT outlet_name, SUM( (
`sub_product_price` * `quantity`
) ) AS `total_amount`
FROM `tbl_outlet`
GROUP BY `outlet_name`