本文介绍了如何使用Codeigniter计算每列的总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
控制器
这是控制器页面。
code> public function index(){
$ data = array(
'year'=> $ this-> year_model-> list_all(),
'speces' => $ this-> speces_model-> list_all(),
);
foreach($ data ['year'] as $ value):
$ temp = array();
$ temp ['year_key'] = $ value ['year-range'];
$ temp ['year_id'] = $ value ['id'];
$ temp ['speces_key'] = array();
foreach($ data ['speces'] as $ value1):
$ temp ['speces_key'] [$ value1 ['name']] = $ this-& > get_where('spendingituredata',array('spacesId'=> $ value1 ['id'],'yearId'=> $ value ['id'])) - > row_array();
endforeach;
$ final_result [] = $ temp;
endforeach;
$ data ['result'] = $ final_result;
$ this-> load-> view('site / template',$ data);
}
查看
这是查看文件。
< table&
< thead>
< tr>
< th>年范围< / th>
<?php foreach($ speces as $ value):?>
< th> <?php echo $ value ['name']; ?>< / th>
<?php endforeach; ?>
< th> TOTAL< / th>
< / tr>
< / thead>
< tbody>
<?php foreach($ result as $ value):?>
<?php $ sum = 0; ?>
< tr>
td><?php echo $ value ['year_key']; ?>< / td>
<?php foreach($ value ['speces_key'] as $ key => $ value2):?>
< td><?php echo $ value2 ['data']; ?>< / td>
<?php $ sum + = $ value2 ['data']; ?>
<?php endforeach; ?>
< td><?php echo $ sum; ?>< / td>
< / tr>
<?php endforeach; ?>
< tr>
< td>总计< / td>
< / tr>
< / table>
我的问题:如何计算以上屏幕截图中的总计。
所以请查看上面的截图和Calculatre总计为所有动物根据年。
解决方案
尝试使用这样:
$ select = array(
'table.col1',
'table.col2',
'table.COW + table.DOG + table.CAT + table.BIRD + table.ARV + table.CAMP as TOTAL'
);
$ this-> db-> select($ select);
$ this-> db-> from('spendingituredata');
$ this-> db->其中(array('spacesId'=> $ value1 ['id'],'yearId'=> $ value ['id'
$ this-> db-> row_array();
或使用这个简单的SQL查询
从表格中选择COW + DOG + CAT + BIRD + ARV + CAMP作为TOTAL,其中col ='val';
Controller
This is Controller Page.
public function index() {
$data = array(
'year' => $this->year_model->list_all(),
'speces' => $this->speces_model->list_all(),
);
foreach ($data['year'] as $value):
$temp = array();
$temp['year_key'] = $value['year-range'];
$temp['year_id'] = $value['id'];
$temp['speces_key'] = array();
foreach ($data['speces'] as $value1):
$temp['speces_key'][$value1['name']] = $this->db->get_where('expendituredata', array('spacesId' => $value1['id'], 'yearId' => $value['id']))->row_array();
endforeach;
$final_result[] = $temp;
endforeach;
$data['result'] = $final_result;
$this->load->view('site/template', $data);
}
View
This is View file.
<table>
<thead>
<tr>
<th>Year Range</th>
<?php foreach ($speces as $value): ?>
<th> <?php echo $value['name']; ?></th>
<?php endforeach; ?>
<th>TOTAL</th>
</tr>
</thead>
<tbody>
<?php foreach ($result as $value): ?>
<?php $sum = 0; ?>
<tr>
td><?php echo $value['year_key']; ?></td>
<?php foreach ($value['speces_key'] as $key => $value2): ?>
<td><?php echo $value2['data']; ?></td>
<?php $sum+= $value2['data']; ?>
<?php endforeach; ?>
<td><?php echo $sum; ?></td>
</tr>
<?php endforeach; ?>
<tr>
<td>Total</td>
</tr>
</table>
MY Question : How to Calculate Total in above screen shot.
so please view above screenshot and Calculatre total for all animal according to year.
解决方案
Try to use something like this :
$select = array(
'table.col1',
'table.col2',
'table.COW+table.DOG+table.CAT+table.BIRD+table.ARV+table.CAMP as TOTAL'
);
$this->db->select($select);
$this->db->from('expendituredata');
$this->db->where(array('spacesId' => $value1['id'], 'yearId' => $value['id']));
$this->db->row_array();
Or use this simple SQL query
select COW+DOG+CAT+BIRD+ARV+CAMP as TOTAL from table where col = 'val';
这篇关于如何使用Codeigniter计算每列的总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!