Codeigniter 如何计算控制器中的所有数据数组
我想使用codeigniter对使用postgresql获得的数据数组进行计数。我使用foreach循环并使用count($row['zero'])进行计数,但结果仅为1。请指导我 这是我的控制器Codeigniter 如何计算控制器中的所有数据数组,codeigniter,postgresql,Codeigniter,Postgresql,我想使用codeigniter对使用postgresql获得的数据数组进行计数。我使用foreach循环并使用count($row['zero'])进行计数,但结果仅为1。请指导我 这是我的控制器 public function indicators($pcode = '', $dcode = '') { $this->data['p_code'] = $pcode; $this->data['d_code'] = $dcode; $this->data
public function indicators($pcode = '', $dcode = '') {
$this->data['p_code'] = $pcode;
$this->data['d_code'] = $dcode;
$this->data['pcode'] = $this->employment_model->get_project();
$this->data['attend_household'] = $this->employment_model->household_absent_all($dcode);
var_dump($this->data['attend_household']);
die();
foreach($this->data['attend_household'] as $row){
if($row['zero']>0){
$this->data['zerroo']=count($row['zero']);
}
}
if (count($this->data['attend_household']) > 0) {
$this->data['attend_household'] = $this->data['attend_household'][0];
}
// var_dump($this->data);
$this->load->view("employment_info", $this->data);
}
这是我的模型
function household_absent_all($dcode) {
$dcode_query = "";
if ($dcode != '') {
if ($dcode == 'all') {
$dcode_query = "";
} else {
$dcode_query = "where t.dcode='$dcode'";
}
}
$sql = "select (100-(sum(days_worked)/sum(days_offered))*100) as zero,regno,sum(days_offered) as days_offered,sum(days_worked) as days_worked
from(
select*
from assets.tblprojects a
join(
select pcode as project,hh_jobcard_no
from employment.work_group_member
)wg on a.pcode=wg.project
join(
select regno,at.days_offered,at.days_worked
from employment.registration_hh_member
join(
select pcode as a_pcode,hh_jobcard_no as jobcard,mem_id,
sum((shift_1*0.5)+(shift_2*0.5)) as days_worked,count(adate) as days_offered
from employment.attendence
group by a_pcode,jobcard,mem_id
)at on regno=at.jobcard and s_no=at.mem_id
)rhm on wg.hh_jobcard_no=rhm.regno
)t
group by regno
$dcode_query
";
$result = $this->db->query($sql)->result_array();
return $result;
}
使用num_rows()作为计数器如何
if($num = $result->num_rows() >=1){
$result = array('result_set'=>$result->result_array(),'result_count'=>$num);
}else{
$result = array('result_set'=>FALSE,'result_count'=>FALSE);
}
return $result;
然后在您的控制器上,您可以将其用作计数的$variable['result\u count']
,以及数据结果的$variable['result\u set']
。尝试这样做
$i=0;
foreach($this->data['attend_household'] as $row){
if($row['zero']>0){
$i++;
}
}
$this->data['zerroo']=$i;
你想统计表格中的所有记录吗?不,我想根据条件只统计零。这意味着你想只统计这一$row['zero']我有这样的数组0=>array'zero'=>string'11.32075471698113207500'(length=23)'regno'=>string'KEP-63013-25'(length=12)“提供的天数”=>字符串“53”(长度=2)“工作天数”=>字符串“47.0”(长度=4)1=>数组“零”=>字符串“0.79365079365100”(长度=22)“regno”=>字符串“KEP-64004-118”(长度=13)“提供的天数”=>字符串“63”(长度=2)“工作天数”=>字符串“62.5”(长度=4)。。。我想要的是,如果0的值大于0,那么计数的结果