Home > Article > Backend Development > PHP implements CodeIgniter paging examples and multi-condition query solutions
This article mainly introduces PHP CodeIgniter paging examples and detailed explanations of multi-condition query ideas. It is very good and has reference value. Friends in need can refer to it
When using the CI framework recently, use I have installed the paging class of CI. I used to use the front-end paging class. This time I simply used the one that comes with the framework. I might as well record it in my forgetful mind.
Because there is a conditional filtering form on the page, the desired effect is that after entering the conditions, the entered conditions can be maintained after the page jump. After thinking about it for a while, I came up with the following code.
controller code
class Monitors extends CI_Controller { public function warning(){ $config= array(); $config['per_page'] = 15; //每页显示的数据数 $current_page = intval($this->input->get("per_page")); //获取当前分页页码数 $status=$this->input->get("filter-status",TRUE); $level=$this->input->get('filter-level',TRUE); $timestamp=$this->input->get('filter-timestamp',TRUE); $all = $this->monitors_m->getAllData($current_page,$config['per_page'],$status,$timestamp,$level); //这里返回的有总条数和具体的数据,根据自己的情况略加修改即可 $data['allevent'] = $all['content']; $config['total_rows'] = $all['count'];//总条数 $config['num_links'] = 3;//页码连接数 $config['use_page_numbers'] = TRUE; $config['page_query_strings'] = TRUE;//关键配置 $config['base_url'] = base_url().'index.php/monitors/warning?'&filter-status='.$status.'&filter-level='.$level.'&filter-timestamp='.$timestamp;//关键配置 $this->load->library('pagination');//加载ci pagination类 $this->pagination->initialize($config); $data['page'] = $this->pagination->create_links();//关键代码 $this->load->view("monitors_v",$data); }
Key configuration parameters
$config[‘page_query_string']
If If set to true, the url will be "index.php/monitors/warning?per_page=20" like this
[Note] "per_page" is the query string passed by default, but you can also use $config[ 'query_string_segment'] = 'your string' to configure
In my solution, it is set to TRUE. Of course, TRUE is the default value, and you can leave it alone;
$config[‘base_url']
When it is initially set to the following situation, it is possible to perform conditional filtering on a certain page, but after the jump, the conditions are no longer due to refresh problems.
$config['base_url'] = base_url().'index.php/monitors/warning;
Use the following method, roar hoho
$status=$this->input->get("filter-status",TRUE); $level=$this->input->get('filter-level',TRUE); $timestamp=$this->input->get('filter-timestamp',TRUE); $config['base_url'] = base_url().'index.php/monitors/warning?'&filter-status='.$status.'&filter-level='.$level.'&filter-timestamp='.$timestamp;//关键配置
view page The code
is just one sentence. Just add this sentence where you need to place the paging element. The $page variable here is stored in the controller. $this->pagination->create_links ();
<?php echo $page?>
Set paging style
The bootstrap style is used here
$config['first_link'] = "<<";//首页 $config['prev_link'] = "<";//上一页 $config['next_link'] = ">";//下一页 $config['last_link'] = ">>";//尾页 $config['full_tag_open'] = '<ul class="pagination pagination-split">'; $config['full_tag_close'] = '</ul>'; $config['first_tag_open'] = '<li>';//第一个链接的起始标签。 $config['first_tag_close'] = '</li>';//第一个链接的结束标签。 $config['next_tag_open'] = '<li>';//下一页链接的起始标签。 $config['next_tag_close'] = '</li>';//下一页链接的结束标签。 $config['prev_tag_open'] = '<li>';//上一页链接的起始标签。 $config['prev_tag_close'] = '</li>';//上一页链接的结束标签。 $config['cur_tag_open'] = '<li class="active"><a>'; $config['cur_tag_close'] = '</a></li>';//当前页链接的结束标签。 $config['num_tag_open'] = '<li>';//数字链接的起始标签。 $config['num_tag_close'] = '</li>';//数字链接的结束标签。
Related recommendations:
CI framework (CodeIgniter) operation redis step analysis
CodeIgniterDetailed explanation of the steps to use redis
CI framework (CodeIgniter) method of operating redis
The above is the detailed content of PHP implements CodeIgniter paging examples and multi-condition query solutions. For more information, please follow other related articles on the PHP Chinese website!