我有一个 MySQL 表和一个 HTML 搜索表单。因此,根据用户请求,他可以使用该 HTML 表单搜索数据库。
我使用 CodeIgniter,这是我用来查询数据库的模型函数
public function fetch_categories($limit, $start){
$user_info = $this->session->userdata('search_info');
$iam = $user_info['iam'];
$searching_for = $user_info['searching_for'];
$age_from = $user_info['age_from'];
$age_to = $user_info['age_to'];
$country = $user_info['country'];
$Province = $user_info['Province'];
$this->db->where('sex !=', $iam);
$this->db->where('sex', $searching_for);
$this->db->where('Age >=' , $age_from);
$this->db->where('Age <=' , $age_to);
if($Province != 1){
$this->db->where('Province' , $Province);
}
$this->db->limit($limit, $start);
$query = $this->db->get("members");
return $query->result_array();
}
这工作正常,但我需要为结果添加分页,所以我再次使用 CodeIgniter 的内置分页库。
所以我想在 fetch_categories() 函数执行之前计算结果,所以我使用search_count()
这个函数。
public function search(){
$user_info = $this->session->userdata('search_info');
$iam = $user_info['iam'];
$searching_for = $user_info['searching_for'];
$age_from = $user_info['age_from'];
$age_to = $user_info['age_to'];
$country = $user_info['country'];
$Province = $user_info['Province'];
$this->db->where('sex !=', $iam);
$this->db->where('sex', $searching_for);
$this->db->where('Age >=' , $age_from);
$this->db->where('Age <=' , $age_to);
if($Province != 1){
$this->db->where('Province' , $Province);
}
$query = $this->db->count_all('members');
return $query;
}
但是这个东西总是返回整个行数作为结果。所以页面中有不需要的页码。我知道这是因为这个而发生的。
$query = $this->db->count_all('members');
但我不知道如何使用这种类型的函数只计算相关的东西。