从函数中的查询中获取结果并在Codeigniter中计算num_rows

时间:2018-09-18 05:13:02

标签: javascript php mysql ajax codeigniter-3

我在模型中的查询:

public function infoReprob(){
    $tid = $this->input->get('tid');
    $query = $this->db->select('histprob.tid,histprob.ketprob,histprob.updated_at,otslm.lokasi')->from('histprob')->join('otslm', 'otslm.tid = histprob.tid')->where('histprob.tid', $tid)->get();
    return $query->result();
 }

以上查询用于在Ajax的视图中生成结果并完美地工作。但是我也需要计算结果,并且我试图在Controller中使用folowong:

function index(){
    $data['reprobs'] = count($this->m->infoReprob()); // USING COUNT
    $this->load->view('front/reprob_view', $data);
}

然后像这样调用Javascript中的变量:

<?php echo $reprobs; ?>

但是结果为0,即使实际的num_rows也> 0。

请帮助解决此问题。非常感谢

1 个答案:

答案 0 :(得分:2)

尝试以下代码

function index(){
    $data['result'] = $this->m->infoReprob(); // get RESULT
    $data['count'] = $this->m->infoReprob(1); // get COUNT
    $this->load->view('front/reprob_view', $data);
}
public function infoReprob($count=0){

    $tid = $this->input->get('tid');
    $query = $this->db->select('histprob.tid,histprob.ketprob,histprob.updated_at,otslm.lokasi')->from('histprob')->join('otslm', 'otslm.tid = histprob.tid')->where('histprob.tid', $tid)->get();
if ($count == 1)
        return $query->num_rows();
    else
        return $query->result_array();
}