Heim > Backend-Entwicklung > PHP-Tutorial > So implementieren Sie PHP CodeIgniter-Paging und Abfragen mit mehreren Bedingungen

So implementieren Sie PHP CodeIgniter-Paging und Abfragen mit mehreren Bedingungen

不言
Freigeben: 2023-04-01 07:46:02
Original
1509 Leute haben es durchsucht

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);
}
Nach dem Login kopieren

Wichtige Konfigurationsparameter

$config[‘page_query_string']
Nach dem Login kopieren

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']
Nach dem Login kopieren

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;
Nach dem Login kopieren

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;//关键配置
Nach dem Login kopieren

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?>
Nach dem Login kopieren

Seitenstil 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;;//数字链接的结束标签。
Nach dem Login kopieren

Das Obige ist hoffentlich der gesamte Inhalt dieses Artikels Es wird für das Lernen aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!

Verwandte Empfehlungen:

Über das CI-Framework zur Implementierung von Ajax-Paging und zum Auswählen aller, zum Umkehren der Auswahl, zum Aufheben der Auswahl und zum Batch-Löschen von Code

So verwenden Sie das CI-Framework, um eine Front-End- und Back-End-Trennung des Frameworks zu erreichen

Das obige ist der detaillierte Inhalt vonSo implementieren Sie PHP CodeIgniter-Paging und Abfragen mit mehreren Bedingungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage