Php Codeigniter从搜索查询中获取行数
我的控制器中有一个查询,用于搜索url中的术语/关键字 示例Php Codeigniter从搜索查询中获取行数,php,codeigniter,mysql-num-rows,Php,Codeigniter,Mysql Num Rows,我的控制器中有一个查询,用于搜索url中的术语/关键字 示例/search/keyword 然后通过控制器执行搜索,执行以下操作: $viewdata['search_results'] = $this->Search_model->search(strtolower($this->uri->segment(2)),$limit,$offset); 然后我从我的模型中检查数据库,如下所示: function search($searchquery, $l
/search/keyword
然后通过控制器执行搜索,执行以下操作:
$viewdata['search_results'] =
$this->Search_model->search(strtolower($this->uri->segment(2)),$limit,$offset);
然后我从我的模型中检查数据库,如下所示:
function search($searchquery, $limit, $offset) {
$this->db->from('content');
$this->db->like('title', $searchquery);
$this->db->or_like('content', $searchquery);
$query = $this->db->limit($limit, $offset)->get();
$results = Array();
foreach ($query->result() as $row) {
$results[] = Array(
'title' => '<a href="' . base_url() . $row->anchor_url . ' ">' . strip_tags($row->title) . '</a>',
'link' => base_url() . $row->anchor_url,
'text' => str_ireplace($searchquery, '<b>' . $searchquery . '</b>', strip_tags(neatest_trim($row->content,220,$searchquery,120,120)))
);
}
return $results;
}
}
函数搜索($searchquery、$limit、$offset){
$this->db->from('content');
$this->db->like('title',$searchquery);
$this->db->or_like('content',$searchquery);
$query=$this->db->limit($limit,$offset)->get();
$results=Array();
foreach($query->result()作为$row){
$results[]=数组(
'标题'=>'',
'link'=>base\u url().$row->anchor\u url,
'text'=>str_-ireplace($searchquery,'.$searchquery.'',strip_标记(最新修剪($row->content,220,$searchquery,120120)))
);
}
返回$results;
}
}
我想知道如何将搜索结果中找到的行数返回给控制器。然后,我将使用为分页找到的行数
如何将行计数输入控制器???您可以在模型中添加一个函数,返回计数并调用该函数 例如:
// model
public function getAffectedRows()
{
return $this->db->affected_rows();
}
...
// controller
$this->Search_model->doQuery();
$numRows = $this->Search_model->getAffectedRows();
你可以使用
$viewdata['search_results'] =
$this->Search_model->search(strtolower($this->uri->segment(2)),$limit,$offset);
$viewdata['search_result_count'] = count( $viewdata['search_results'] );
也可以从模型中返回包含计数的结构化数组。差不多
return array( 'results' => $result, 'num_results' => $this->db->num_rows() );