本文实例讲述了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程序设计有所帮助。