我遇到了问题,我希望有人能帮助我。
我正在使用CodeIgniter从数据库中提取结果,我想将这些结果一起添加。我不是一个PHP开发人员,所以我不太清楚从哪里开始。
这是我正在使用的功能;
function get_warranty($id) {
$this->db->select('warranty');
$this->db->where('sID', $id);
$query = $this->db->get('cars');
return $query->result();
}
此函数返回此;
[warranty] = Array
(
[0] => stdClass Object
(
[warranty] => 2
)
[1] => stdClass Object
(
[warranty] => 5000
)
)
但是,我希望它能归还它;
[warranty] = 5002;
所以,它只是将它找到的每个结果加起来。
任何帮助都会非常感激,正如我所说,我不是一个PHP开发人员,所以我甚至不知道从哪里开始。
提前致谢!
答案 0 :(得分:0)
取代return $query->result();
使用return $query->result_array();
。您将获得纯数组返回。
现在你可以使用foreach循环来像这样添加值:
$add_up = 0;
foreach ($reulst_array as $values)
{
$addup = $add_up + $values;
}
这样变量$add_up
将包含添加的数组。
答案 1 :(得分:0)
$ query - > result()函数返回带有查询结果的对象数组... 请参阅文档:http://ellislab.com/codeigniter/user-guide/database/active_record.html#select
这是我提出的修改后的函数,它根据需要简单地返回一个带总和的整数:
function get_warranty($id) {
// Query composition
$this->db->select('warranty');
$this->db->where('sID', $id);
$query = $this->db->get('cars');
// Iterate through the returned objects and accumulation in $warranty
foreach ($query->result() as $row) {
$warranty += $row->warranty;
}
return $warranty;
}
亲切的问候。