PHP implements CodeIgniter paging examples and multi-condition query solutions

墨辰丷
Release: 2023-03-27 12:42:01
Original
2203 people have browsed it

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); }
Copy after login

Key configuration parameters

$config[‘page_query_string']
Copy after login

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']
Copy after login

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;
Copy after login

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;//关键配置
Copy after login

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 ();

Copy after login

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'] = '
    '; $config['full_tag_close'] = '
'; $config['first_tag_open'] = '
  • ';//第一个链接的起始标签。 $config['first_tag_close'] = '
  • ';//第一个链接的结束标签。 $config['next_tag_open'] = '
  • ';//下一页链接的起始标签。 $config['next_tag_close'] = '
  • ';//下一页链接的结束标签。 $config['prev_tag_open'] = '
  • ';//上一页链接的起始标签。 $config['prev_tag_close'] = '
  • ';//上一页链接的结束标签。 $config['cur_tag_open'] = '
  • '; $config['cur_tag_close'] = '
  • ';//当前页链接的结束标签。 $config['num_tag_open'] = '
  • ';//数字链接的起始标签。 $config['num_tag_close'] = '
  • ';//数字链接的结束标签。
    Copy after login

    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!

    Related labels:
    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!