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