Heim php教程 php手册 3行代码的分页算法(求起始页和结束页)

3行代码的分页算法(求起始页和结束页)

Jun 21, 2016 am 08:52 AM
count end link start

 

  涉及到分页时, 除非只显示上一页/下一页, 否则需要计算起始页和结束页. 看过很多代码都是用大量的if-else来实现, 代码量大, 又不简洁. 现在提供一种只需要3行代码的算法.

  一个好的分页算法, 应该具有下面的优点:

  当前页码应该尽量在正中间.

  如果”首页”和”尾页”不可用(当前处于第一页或最后一页), 不要隐藏这两组文字, 以免链接按钮位置变动.

  算法简单.

  下面的算法具有前面1和3两个优点.

  PHP:

  // $curr_index, 当前页码.

  // $link_count, 链接数量.

  // $page_count, 当前的数据的总页数.

  // $start, 显示时的起始页码.

  // $end, 显示时的终止页码.

  $start = max(1, $curr_index - intval($link_count/2));

  $end = min($start + $link_count - 1, $page_count);

  $start = max(1, $end - $link_count + 1);

  JavaScript:

  start = Math.max(1, curr_index - parseInt(link_count/2));

  end = Math.min(page_count, start + link_count - 1);

  start = Math.max(1, end - link_count + 1);



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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Taste ist die Endtaste auf der Tastatur? Welche Taste ist die Endtaste auf der Tastatur? Mar 10, 2023 am 11:30 AM

Das Tastaturende ist die Taste, die das Wort „Ende“ auf der Tastatur anzeigt. Wenn sich der Cursor nicht am Ende befindet, drücken Sie die ENDE-Taste, und der Cursor wird am Ende positioniert , drücken Sie die Kombination „STRG+ENDE“. Nach dem Drücken der Taste wird der Cursor am Ende des Dokuments positioniert.

Was soll ich tun, wenn Docker Start nicht gestartet werden kann? Was soll ich tun, wenn Docker Start nicht gestartet werden kann? Oct 21, 2022 pm 03:43 PM

Lösung für Docker-Startfehler: 1. Überprüfen Sie den Betriebsstatus und geben Sie dann den belegten Speicher über den Befehl „echo 3 > /proc/sys/vm/drop_caches“ frei. 2. Verwenden Sie „$netstat -nltp|grep ..“. "-Befehl, um zu überprüfen, ob der Port belegt ist. Wenn nach dem Online-Gehen festgestellt wird, dass er belegt ist, ändern Sie ihn in einen verfügbaren Port und starten Sie neu.

Der Unterschied zwischen counta und count Der Unterschied zwischen counta und count Nov 20, 2023 am 10:01 AM

Mit der Count-Funktion wird die Anzahl der Zahlen in einem angegebenen Bereich gezählt. Sie ignoriert Text, logische Werte und Nullwerte, zählt jedoch leere Zellen. Die Count-Funktion zählt nur die Anzahl der Zellen, die tatsächliche Zahlen enthalten. Die Funktion CountA wird verwendet, um die Anzahl der nicht leeren Zellen in einem angegebenen Bereich zu zählen. Es zählt nicht nur Zellen, die tatsächliche Zahlen enthalten, sondern auch die Anzahl nicht leerer Zellen, die Text, logische Werte und Formeln enthalten.

Der Unterschied zwischen Link und Import wird im Detail erklärt: Was sind die Unterschiede zwischen ihnen? Der Unterschied zwischen Link und Import wird im Detail erklärt: Was sind die Unterschiede zwischen ihnen? Jan 06, 2024 am 08:19 AM

Eingehende Analyse: Was ist der Unterschied zwischen Link und Import? Bei der Entwicklung von Webseiten oder Anwendungen müssen wir häufig externe CSS-Dateien oder JavaScript-Bibliotheken einführen, um unseren Code zu verbessern oder anzupassen. In diesem Prozess sind Verknüpfung und Import zwei häufig verwendete Methoden. Obwohl ihr Zweck darin besteht, externe Ressourcen einzuführen, gibt es einige Unterschiede in der spezifischen Verwendung. Syntax und Speicherort: Link: Verwenden Sie das Link-Tag, um externe Ressourcen in die HTML-Datei zu verlinken, die sich normalerweise am Kopf des HTML-Dokuments befindet

Was tun, wenn der Knotenstart einen Fehler meldet? Was tun, wenn der Knotenstart einen Fehler meldet? Dec 29, 2022 pm 01:55 PM

Lösung für den Knotenstartfehler: 1. Führen Sie „node xx.js“ direkt im Terminal aus. 2. Fügen Sie das Startup-Element „scripts“ hinzu: {“test“: „echo \“Fehler: kein Test angegeben\“ && Exit 1“ ,“start“: „node service.js“}“; 3. Führen Sie „npm start“ erneut aus.

Was ist der Unterschied zwischen Link-Tag und Import? Was ist der Unterschied zwischen Link-Tag und Import? Aug 28, 2023 am 11:19 AM

Zu den Unterschieden zwischen Link-Tags und Import gehören Syntax und Verwendung, Funktionen und Features, Ladezeitpunkt, Kompatibilität und Support usw. Detaillierte Einführung: 1. Syntax und Verwendung. Das Link-Tag ist ein HTML-Tag, das zum Einfügen externer Ressourcen in HTML-Dokumente verwendet wird, z. B. CSS-Stylesheets, JavaScript-Skripte, Symbole usw. import ist die Modulimportsyntax in ES6, die in verwendet wird JavaScript-Dateien. Einführung externer Module; 2. Funktionen und Features. Das Link-Tag kann eine Vielzahl von Ressourcen einführen, z. B. CSS-Stylesheets, Symbole usw.

Zusammenfassung der Nutzungsunterschiede der MySQL Count-Funktion Zusammenfassung der Nutzungsunterschiede der MySQL Count-Funktion Nov 29, 2022 pm 04:47 PM

In diesem Artikel werden die Unterschiede in der Verwendung der MySQL-Funktion vorgestellt. Der Bedarf an statistischen Daten ist in unserer täglichen Entwicklung sehr einfach. Schauen wir uns als Nächstes die Unterschiede zwischen ihnen an. und ob sie einige Fallstricke haben.

Was sind die Unterschiede zwischen Import und Link? Was sind die Unterschiede zwischen Import und Link? Nov 24, 2023 pm 02:15 PM

Der Unterschied zwischen Import und Link: 2. Lademethode; 5. Medientyp; 8. Einbettungssatz; Standardstil; 10. Überlegungen zur Kompatibilität; 11. Überlegungen zur Leistung; Detaillierte Einführung: 1. Zweck und Semantik. Link ist ein HTML-Tag, das zum Verlinken auf externe CSS-Dateien oder Stylesheets verwendet wird. Es befindet sich normalerweise im Kopfteil des HTML-Dokuments, der Import ist Teil von CSS usw.

See all articles