簡體   English   中英

如何對值求和並將行添加到數組codeigniter

[英]How to sum values and add row to array codeigniter

模型中的mysql

public function dailymovedate($datee,$dateee)
{
  header("Content-Type: application/json");
    $this->db->select("dailymovement.id_order,dailymovement.item_code,currency.currency_name as totalamountbuy,dailymovement.totalamountsale,CONCAT(dailymovement.detials_daily,' qyt',ordersale.totalqyt) AS detials_daily ", false);


    $this->db->from('dailymovement');
    $this->db->join('ordersale', 'ordersale.idorder= dailymovement.id_order','left outer');
    $this->db->join('currency', 'currency.currency_number = ordersale.currency_number','left outer');

    $this->db->where('dailymovement.data_daily>=', $datee);
    $this->db->where('dailymovement.data_daily<=', $dateee);
    $this->db->where('dailymovement.totalamountsale!=' ,null,FALSE);
    $this->db->order_by("dailymovement.id_order", "desc");
    $query = $this->db->get();


    return json_encode($query->result(),JSON_UNESCAPED_UNICODE);
}

數組json

    [{"id_order":"21","item_code":"SALE","totalamountbuy":"$","totalamountsale":"48790","detials_daily":" 153"},
{"id_order":"23","item_code":"SALE","totalamountbuy":"$","totalamountsale":"20790","detials_daily":" 5"}
{"id_order":"20","item_code":"SALE","totalamountbuy":"ERUO","totalamountsale":"22200","detials_daily":" 40"},
{"id_order":"19","item_code":"SALE","totalamountbuy":"TL","totalamountsale":"4500","detials_daily":" 45"}]

求和值和示例的求和行求和值totalamountsale IF totalamountbuy == $

我想添加一個額外的字段並將其設為`

{"item_code":"TOTAL","totalamountbuy":"$","totalamountsale":"69580","detials_daily":" 158"}

現在的結果

    [{"id_order":"21","item_code":"SALE","totalamountbuy":"$","totalamountsale":"48790","detials_daily":" 153"},
{"id_order":"23","item_code":"SALE","totalamountbuy":"$","totalamountsale":"20790","detials_daily":" 5"}
{"id_order":"20","item_code":"SALE","totalamountbuy":"ERUO","totalamountsale":"22200","detials_daily":" 40"},
{"id_order":"19","item_code":"SALE","totalamountbuy":"TL","totalamountsale":"4500","detials_daily":" 45"},
{"id_order":"0","item_code":"TOTAL","totalamountbuy":"$","totalamountsale":"69580","detials_daily":" 158"}]
// for demonstration purposes, using json_decode to get an array matching your sample data
$querydata = json_decode('[{"id_order":"21","item_code":"SALE","totalamountbuy":"$","totalamountsale":"48790","detials_daily":" 153"},
{"id_order":"23","item_code":"SALE","totalamountbuy":"$","totalamountsale":"20790","detials_daily":" 5"},
{"id_order":"20","item_code":"SALE","totalamountbuy":"ERUO","totalamountsale":"22200","detials_daily":" 40"},
{"id_order":"19","item_code":"SALE","totalamountbuy":"TL","totalamountsale":"4500","detials_daily":" 45"}]');

// initialize total array with 0 as starting value for the fields to sum up
$total = [ 'id_order' => '0', 'item_code' => 'TOTAL', 'totalamountbuy' => '$',
           'totalamountsale' => 0, 'detials_daily' => 0 ];

foreach($querydata as $row) {
  if($row->totalamountbuy == '$') { // if $, add up values
    $total['totalamountsale'] += $row->totalamountsale;
    $total['detials_daily'] += $row->detials_daily;
  }
}

// append total to existing array
$querydata[] = $total;

echo json_encode($querydata);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM