Cet article présente principalement des exemples de pagination PHP CodeIgniter et des explications détaillées sur les idées de requêtes multi-conditions. Il est très bon et a une valeur de référence. Les amis qui en ont besoin peuvent s'y référer
Lorsqu'ils utilisent récemment le framework CI. , utilisation J'ai introduit la classe de pagination de CI. J'utilisais la classe de pagination frontale Cette fois, j'ai simplement utilisé celle fournie avec le framework, autant l'enregistrer dans mon esprit oublieux.
Comme il existe un formulaire de filtrage conditionnel sur la page, l'effet souhaité est qu'après avoir saisi les conditions, les conditions saisies peuvent être conservées après les sauts de page. Après y avoir réfléchi un moment, j'ai trouvé le code suivant.
Code du contrôleur
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); }
Paramètres de configuration clés
$config[‘page_query_string']
Si elle est définie sur true, l'url sera "index.php/monitors/warning?per_page=20" comme ceci
[Note] "per_page" est la chaîne de requête transmise par défaut, mais elle peut utilisez également $config['query_string_segment'] = 'your string' pour configurer
Dans ma solution, il est défini sur TRUE. Bien sûr, TRUE est la valeur par défaut et elle peut être ignorée <🎜. >
$config[‘base_url']
$config['base_url'] = base_url().'index.php/monitors/warning;
$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;//关键配置
$this->pagination->create_links();
<?php echo $page?>
Définir le style de pagination
Le style bootstrap est utilisé ici
$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>';//数字链接的结束标签。
Recommandations associées :
Analyse du framework CI (CodeIgniter) des étapes de fonctionnement de Redis
CodeIgniterExplication détaillée des étapes à suivre utiliser la méthode redis
CodeIgniter) pour faire fonctionner redis
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!