从函数中的查询中获取结果并计算 Codeigniter 中的 num_rows
Posted
技术标签:
【中文标题】从函数中的查询中获取结果并计算 Codeigniter 中的 num_rows【英文标题】:Getting result from a query in a function and count the num_rows in Codeigniter 【发布时间】:2018-09-18 05:13:02 【问题描述】:我在模型中的查询:
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。
请帮助解决这个问题..非常感谢您
【问题讨论】:
您是否尝试过以下答案并使用<?php echo $count; ?>
显示结果?我认为它应该可以解决您的问题。
【参考方案1】:
试试下面的代码
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();
【讨论】:
感谢您的重播,我按照您的建议更改了代码,但仍然没有得到预期的结果,但我现在可以使用以下方法解决我的问题:data.length 在我刚刚想到的 JS 代码中。但仍然很好奇我或其他人是否需要在 JS 之外计算。谢谢以上是关于从函数中的查询中获取结果并计算 Codeigniter 中的 num_rows的主要内容,如果未能解决你的问题,请参考以下文章
未使用 MVC 从 Json Result 获取 Ajax 成功方法中的 LINQ 连接查询结果,但结果显示正确