PHP实现的一分页工具类代码
总的页数是一个长度一定的木块,这把尺子在这个木块上滑动,前提,尺子的两端不能超出木块:D。发现这么一来要做的事情就是去找这个尺子在木块上的起始点,根据用户给传进来的page变量。哈哈,关键代码下面: 代码如下 复制代码 /** * 把中间的看成一个可以
总的页数是一个长度一定的木块,这把尺子在这个木块上滑动,前提,尺子的两端不能超出木块:D。发现这么一来要做的事情就是去找这个尺子在木块上的起始点,根据用户给传进来的page变量。哈哈,关键代码下面:
代码如下 复制代码
/**
* 把中间的看成一个可以滑动的固定长度的尺子
*
* 把$this->_totalShowPages 当成一个可以滑动的固定长度尺子,
* 然后$this->_totalPages就是一个给定长度的木块,尺子在这个
* 木块上滑动。情况两种:
* 1. 尺子长度大于木块长度,那么就直接输出所有的页码;
* 2. 尺子长度小于木块长度,那么就只用找到输出这个尺子长度页
* 数的起始点——$start, $end;
*www.111cn.Net
* @Access protected
* @Return void
* @Exception none
*/
protected function _getShowPageNumber()
{
$pageHtml = '';
//找到$start点
if($this->_curPage - 2 > 1) {
$start = $this->_curPage - 2;
} else {
$start = 1;
}
//找到$end 点
$end = $start + $this->_totalShowPages;
if($end >= $this->_totalPages) {
$end = $this->_totalPages;
$start = $end - $this->_totalShowPages; //保证页面显示的长度为$this->_totalShowPages
}
if($start != 1) {
$pageHtml .= $this->_getPageHtml(1);
$preMore = $this->_curPage - $this->_totalShowPages;
if($preMore $preMore = 1;
}
$pageHtml .= $this->_getMorePageHtml($preMore);
}
for($page = $start; $page $pageHtml .= $this->_getPageHtml($page);
}
if($end != $this->_totalPages) {
$pageHtml .= $this->_getMorePageHtml($end);
}
$pageHtml .= $this->_getNormalPageHtml($this->_totalPages);
return $pageHtml;
}
第一种老想法的代码实现:
代码如下 复制代码
/**
* 一步步的来
*
* @desc
*
* @Access protected
* @Return void
* @Exception none
*/
protected function _getShowPageNumberTwo()
{
if($this->_curPage _totalShowPages) {
for($page = 1; $page _totalShowPages; $page ++) {
$pageHtml .= $this->_getPageHtml($page);
}
$pageHtml .= $this->_getMorePageHtml($this->_totalShowPages);
$pageHtml .= $this->_getNormalPageHtml($this->_totalPages);
} else {
$pageHtml .= $this->_getNormalPageHtml(1);
if($this->_curPage == $this->_totalShowPages) {
$pageHtml .= $this->_getMorePageHtml(1);
} else {
$pageHtml .= $this->_getMorePageHtml($this->_curPage - $this->_totalShowPages);
}
if($this->_curPage + $this->_totalShowPages >= $this->_totalPages) {
for($page = $this->_totalPages - $this->_totalShowPages; $page _totalPages; $page ++) {
$pageHtml .= $this->_getPageHtml($page);
}
} else {
$start = $this->_curPage - 2;
$end = $this->_curPage + $this->_totalShowPages - 2;
for($page = $start; $page $pageHtml .= $this->_getPageHtml($page);
}
$pageHtml .= $this->_getMorePageHtml($this->_curPage + $this->_totalShowPages - 2);
$pageHtml .= $this->_getNormalPageHtml($this->_totalPages);
}
}
return $pageHtml;
}
示例图:
类文件下载:HPage.php (等我这个小类库完成了再一起放上 :D)。
更多详细内容请查看:http://www.111cn.net/phper/php/56745.htm

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In diesem Artikel wird beschrieben, wie man eine hoch verfügbare MongoDB -Datenbank für ein Debian -System erstellt. Wir werden mehrere Möglichkeiten untersuchen, um sicherzustellen, dass die Datensicherheit und -Dienste weiter funktionieren. Schlüsselstrategie: ReplicaSet: Replicaset: Verwenden Sie Replikaten, um Datenreduktion und automatisches Failover zu erreichen. Wenn ein Master -Knoten fehlschlägt, wählt der Replikate -Set automatisch einen neuen Masterknoten, um die kontinuierliche Verfügbarkeit des Dienstes zu gewährleisten. Datensicherung und Wiederherstellung: Verwenden Sie den Befehl mongodump regelmäßig, um die Datenbank zu sichern und effektive Wiederherstellungsstrategien zu formulieren, um das Risiko eines Datenverlusts zu behandeln. Überwachung und Alarme: Überwachungsinstrumente (wie Prometheus, Grafana) bereitstellen, um den laufenden Status von MongoDB in Echtzeit zu überwachen, und

Alternative Verwendung von Python -Parameteranmerkungen in der Python -Programmierung, Parameteranmerkungen sind eine sehr nützliche Funktion, die den Entwicklern helfen kann, Funktionen besser zu verstehen und zu verwenden ...

In Bezug auf das Problem der Entfernung des Python -Dolmetschers, das mit Linux -Systemen ausgestattet ist, werden viele Linux -Verteilungen den Python -Dolmetscher bei der Installation vorinstallieren, und verwendet den Paketmanager nicht ...

In diesem Artikel werden eine Vielzahl von Methoden und Tools eingeführt, um PostgreSQL -Datenbanken im Debian -System zu überwachen, um die Datenbankleistung vollständig zu erfassen. 1. verwenden Sie PostgreSQL, um die Überwachungsansicht zu erstellen. PostgreSQL selbst bietet mehrere Ansichten für die Überwachung von Datenbankaktivitäten: PG_STAT_ACTIVITY: Zeigt Datenbankaktivitäten in Echtzeit an, einschließlich Verbindungen, Abfragen, Transaktionen und anderen Informationen. PG_STAT_REPLIKATION: Monitore Replikationsstatus, insbesondere für Stream -Replikationscluster. PG_STAT_DATABASE: Bietet Datenbankstatistiken wie Datenbankgröße, Transaktionsausschüsse/Rollback -Zeiten und andere Schlüsselindikatoren. 2. Verwenden Sie das Log -Analyse -Tool PGBADG

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Verständnis der Anti-Crawling-Strategie von Investing.com Viele Menschen versuchen oft, Nachrichten von Investing.com (https://cn.investing.com/news/latest-news) zu kriechen ...

Die Netzwerkkonfiguration des Debian -Systems wird hauptsächlich über die Datei/etc/network/interfaces -Datei implementiert, die die Netzwerkschnittstellenparameter wie IP -Adresse, Gateway und DNS -Server definiert. Debian -Systeme verwenden normalerweise IFUP- und wenn Down -Befehle, um Netzwerkschnittstellen zu starten und zu stoppen. Durch Ändern der IFLINE in der Schnittstellendatei können Sie eine statische IP festlegen oder DHCP verwenden, um die IP -Adresse dynamisch zu erhalten. Es ist zu beachten, dass Debian12 und nachfolgende Versionen standardmäßig keine NetworkManager mehr verwenden, sodass andere Befehlszeilen-Tools wie IP-Befehle möglicherweise erforderlich sind, um Netzwerkschnittstellen zu verwalten. Sie können /etc /netwo bearbeiten
