本文实例讲述了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程序设计有所帮助。
本文地址:https://www.stayed.cn/item/10802
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我