Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert CodeIgniter-Paging-Beispiele und Abfragelösungen mit mehreren Bedingungen

PHP implementiert CodeIgniter-Paging-Beispiele und Abfragelösungen mit mehreren Bedingungen

墨辰丷
墨辰丷Original
2018-05-22 14:36:052236Durchsuche

In diesem Artikel werden hauptsächlich PHP CodeIgniter-Paging-Beispiele und detaillierte Erläuterungen zu Abfrageideen mit mehreren Bedingungen vorgestellt. Er ist sehr gut und hat Referenzwert.

Bei der kürzlichen Verwendung des CI-Frameworks Ich habe die Paging-Klasse von CI eingeführt. Dieses Mal habe ich einfach die mit dem Framework gelieferte verwendet.

Da auf der Seite ein bedingtes Filterformular vorhanden ist, besteht der gewünschte Effekt darin, dass nach Eingabe der Bedingungen die eingegebenen Bedingungen nach Seitensprüngen beibehalten werden können. Nachdem ich eine Weile darüber nachgedacht hatte, kam ich auf den folgenden 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);
}

Wichtige Konfigurationsparameter

$config[‘page_query_string']

wenn Wenn auf „true“ gesetzt, lautet die URL „index.php/monitors/warning?per_page=20“, z. B.

[Hinweis] „per_page“ ist die standardmäßig übergebene Abfragezeichenfolge, Sie können aber auch $ verwenden config[ 'query_string_segment'] = 'Ihre Zeichenfolge' zum Konfigurieren

In meiner Lösung ist TRUE der Standardwert, und Sie können ihn auch so lassen

$config[‘base_url']

Bei der anfänglichen Einstellung auf die folgende Situation ist es möglich, eine bedingte Filterung auf einer bestimmten Seite durchzuführen, aber nach dem Sprung sind die Bedingungen aufgrund von Aktualisierungsproblemen nicht mehr verfügbar.

$config['base_url'] = base_url().'index.php/monitors/warning;

Verwenden Sie die folgende Methode, brüllen Sie

$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;//关键配置

Seite anzeigen Der Code

ist nur ein Satz. Fügen Sie diesen Satz einfach dort ein, wo Sie das Paging-Element platzieren müssen. Die $page-Variable wird hier im Controller gespeichert $this->pagination->create_links();

<?php echo $page?>

Paging-Stil festlegen

Hier wird der Bootstrap-Stil verwendet

$config[&#39;first_link&#39;]   = "<<";//首页
$config[&#39;prev_link&#39;]   = "<";//上一页
$config[&#39;next_link&#39;]   = ">";//下一页
$config[&#39;last_link&#39;]   = ">>";//尾页
$config[&#39;full_tag_open&#39;] = &#39;<ul class="pagination pagination-split">&#39;; 
$config[&#39;full_tag_close&#39;] = &#39;</ul>&#39;; 
$config[&#39;first_tag_open&#39;] = &#39;<li>&#39;;//第一个链接的起始标签。
$config[&#39;first_tag_close&#39;] = &#39;</li>&#39;;//第一个链接的结束标签。
$config[&#39;next_tag_open&#39;] = &#39;<li>&#39;;//下一页链接的起始标签。
$config[&#39;next_tag_close&#39;] = &#39;</li>&#39;;//下一页链接的结束标签。
$config[&#39;prev_tag_open&#39;] = &#39;<li>&#39;;//上一页链接的起始标签。
$config[&#39;prev_tag_close&#39;] = &#39;</li>&#39;;//上一页链接的结束标签。
$config[&#39;cur_tag_open&#39;] = &#39;<li class="active"><a>&#39;;
$config[&#39;cur_tag_close&#39;] = &#39;</a></li>&#39;;//当前页链接的结束标签。
$config[&#39;num_tag_open&#39;] = &#39;<li>&#39;;//数字链接的起始标签。
$config[&#39;num_tag_close&#39;] = &#39;</li>&#39;;//数字链接的结束标签。

Verwandte Empfehlungen:

CI-Framework (CodeIgniter) Operation Redis-Schritte-Analyse

CodeIgniterDetaillierte Schritte mit Redis

CI-Framework (CodeIgniter) Methode zum Betrieb von Redis

Das obige ist der detaillierte Inhalt vonPHP implementiert CodeIgniter-Paging-Beispiele und Abfragelösungen mit mehreren Bedingungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn