codeigniter实现get分页的方法 |
本文实例讲述了codeigniter实现get分页的方法 。分享给大家供大家参考 。具体实现方法如下: public function project_search(){ $this->load->library(pagination); $this->load->model(depart_mdl); //获取搜索需要的信息 $data = $this->get_project_data(); $get_data = $this->input->get(); $data = array_merge($data,$get_data); //get分页配置 $name = $get_data[name]; $username = $get_data[username]; $budget = $get_data[budget]; $type = $get_data[type]; $posttime_start = $get_data[posttime_start]; $posttime_end = $get_data[posttime_end]; $purchase_type = $get_data[purchase_type]; $depart_code = $get_data[depart_code]; $project_status = $get_data[project_status]; $bidder_way = $get_data[bidder_way]; $suffix = "?name=$name&username=$username&budget=$budget&type=$type&posttime_start=$posttime_start&posttime_end=$posttime_end&purchase_type=$purchase_type&depart_code=$depart_code&project_status=$project_status&bidder_way=$bidder_way"; $config[base_url] = site_url(project/project_search).$suffix; $config[total_rows] = $this->db->count_all($this->db->dbprefix(project)); $config[per_page] = 10; $config[page_query_string] = TRUE; //偏移量 $config[query_string_segment] = page; $config[uri_segment] = 3; $this->pagination->initialize($config); $user = $this->user_mdl->get_user_by_salary_no($this->session->userdata(salary_no)); $this->db->from(ustc_project); $this->db->join(ustc_admins,ustc_admins.salary_no=ustc_project.salary_no); if($user->role!=1){ $depart_code = explode(,,$user->grant_depart_code); $this->db->where_in(grant_depart_code,$depart_code); $this->db->or_where(ustc_project.salary_no =,$this->session->userdata(salary_no)); } if($name != ){ $this->db->like(name,$name); } if($username != ){ $this->db->like(username,$get_data[username]); } if($budget != ){ $this->db->like(budget,$get_data[budget]); } if($type != ){ $this->db->where(type,$get_data[type]); } if($depart_code != ){ $this->db->where(depart_code,$get_data[depart_code]); } if($purchase_type != ){ $this->db->where(purchase_type,$get_data[purchase_type]); } if($project_status != ){ $this->db->where(project_status,$get_data[project_status]); } if($bidder_way != ){ $this->db->where(bidder_way,$get_data[bidder_way]); } //时间 if($posttime_start != ){ $this->db->where(posttime > ,strtotime($get_data[posttime_start])); } if($posttime_end != ){ $this->db->where(posttime < ,strtotime($get_data[posttime_end])); } if(isset($get_data[page])){ $page_from = $get_data[page]; }else{ $page_from = 0; } $this->db->order_by(posttime,desc); $projects = $this->db->limit($config[per_page],$page_from)->get()->result_array(); //处理 for($i=0;$i<count($projects);$i++){ $projects[$i][type] = $this->manage_info_mdl->get_value_by_id($projects[$i][type])->value; $projects[$i][purchase_type] = $this->manage_info_mdl->get_value_by_id($projects[$i][purchase_type])->value; $projects[$i][depart] = $this->depart_mdl->get_depart_by_code($projects[$i][depart_code])->name; } $data[projects] = $projects; //获取当前用户的角色 $data[user_role] = $this->user_mdl->get_user_by_salary_no($this->session->userdata(salary_no))->role; $this->_template(project_search,$data); } 希望本文所述对大家基于codeigniter的php程序设计有所帮助 。 |