PHP从零单排(十四)数据分页显示的原理及实现
分页显示是WEB编程中最频繁处理的环节之一。所谓分页显示,就是通过程序将结果集一段一段的来显示。实现分页显示,需要两个初始参数:每页显示多少记录和当前是第几页。再加上完整的结果集,就可以实现数据的分页显示。至于其他功能,比如上一页、下一页等均可以根据以上信息加以处理得到。
要取得某表中的前10条记录,可以使用如下SQL语句:
SELECT * FROM a_table LIMIT 0,10
要查找第11到第20条记录,使用的SQL语句如下所示:
SELECT * FROM a_table LIMIT 10,10
如要查找第21条到第30条记录,使用的SQL语句如下所示:
SELECT * FROM a_table LIMIT 20,10
以上SQL语句可以看出,每次取10条记录,相当于每个页面显示10条数据,而每次所要取得记录的起始位置和当期页数之间存在着这样的关系:起始位置=(当前页数-1)*每页要显示的记录数。如果以变量$page_size表示每页显示的记录数,以变量$cur_page表示当前页数,那么上述可以用下面所示的SQL语句模板归纳:
select * from table limit ($cur_page-1)*$page_size,$page_size;
这样,就得到了分页情况下获取数据的SQL语句。其中$page_size可以根据实际情况制定为一个定值,实际开发中,当前页面$cur_page可以由参数传入。另外,数据要显示的总页数,可以在记录总数和每页显示的记录数之间通过计算获得。比如,如果总记录数除以每页显示的记录数后,没有余数,那么总页数就是这二者之商。
<?php $host='localhost';$user_name='root';$password='helloworld';$conn=mysql_connect($host,$user_name,$password);if(!$conn){ die('FAIL!'.mysql_error());}mysql_select_db('test');if(isset($_GET['page'])){ $page=$_GET['page'];}else{ $page=1;}$page_size=2;$sql='select * from users';$result=mysql_query($sql);$total=mysql_num_rows($result);if($total){ if($total<$page_size) $page_count=1; if($total%$page_size) { $page_count=(int)($total/$page_size)+1; } else { $page_count=$total/$page_size; }}else{ $page_count=0;}$turn_page='';if($page==1){ $turn_page.='Index | Before |';}else{ $turn_page.='<a href=13-8.php?page=1>Index | <a href="13-8.php?page='.(%24page-1).'">Before</a> |';}if($page==$page_count || $page_count==0){ $turn_page.='Next | Last';}else{ $turn_page.='<a href="13-8.php?page='.(%24page+1).'"> Next </a> | <a href="13-8.php?page='.%24page_count.'"> Last </a>';}$sql='select id,name,sex,age from users limit '.($page-1)*$page_size.','.$page_size;$result=mysql_query($sql) OR die ("<br>ERROR:<b>".mysql_error()."</b><br>SQL:".$sql);?><title>13-8.php</title>
ID |
Name |
Sex |
Age |

Die Hauptvorteile der Verwendung von Datenbankspeichersitzungen sind Persistenz, Skalierbarkeit und Sicherheit. 1. Persistenz: Auch wenn der Server neu gestartet wird, können die Sitzungsdaten unverändert bleiben. 2. Skalierbarkeit: Anwendbar für verteilte Systeme, um sicherzustellen, dass Sitzungsdaten zwischen mehreren Servern synchronisiert werden. 3. Sicherheit: Die Datenbank bietet verschlüsselten Speicher zum Schutz vertraulicher Informationen.

Das Implementieren der benutzerdefinierten Sitzung in PHP kann durch die Implementierung der SessionHandlerInterface -Schnittstelle durchgeführt werden. Die spezifischen Schritte umfassen: 1) Erstellen einer Klasse, die SessionHandlerInterface wie CustomSessionHandler implementiert; 2) Umschreiben von Methoden in der Schnittstelle (z. B. offen, schließen, lesen, schreiben, zerstören, GC), um die Lebenszyklus- und Speichermethode von Sitzungsdaten zu definieren; 3) Registrieren Sie einen benutzerdefinierten Sitzungsprozessor in einem PHP -Skript und starten Sie die Sitzung. Auf diese Weise können Daten in Medien wie MySQL und Redis gespeichert werden, um Leistung, Sicherheit und Skalierbarkeit zu verbessern.

SessionID ist ein Mechanismus, der in Webanwendungen verwendet wird, um den Benutzersitzstatus zu verfolgen. 1. Es handelt sich um eine zufällig generierte Zeichenfolge, mit der die Identitätsinformationen des Benutzers während mehrerer Interaktionen zwischen dem Benutzer und dem Server aufrechterhalten werden. 2. Der Server generiert und sendet ihn über Cookies- oder URL -Parameter an den Client, um diese Anforderungen in mehreren Anforderungen des Benutzers zu identifizieren und zu verknüpfen. 3. Die Erzeugung verwendet normalerweise zufällige Algorithmen, um Einzigartigkeit und Unvorhersehbarkeit zu gewährleisten. 4. In der tatsächlichen Entwicklung können In-Memory-Datenbanken wie Redis verwendet werden, um Sitzungsdaten zu speichern, um die Leistung und Sicherheit zu verbessern.

Das Verwalten von Sitzungen in staatenlosen Umgebungen wie APIs kann durch Verwendung von JWT oder Cookies erreicht werden. 1. JWT ist für Staatenlosigkeit und Skalierbarkeit geeignet, aber es ist groß, wenn es um Big Data geht. 2. Kookies sind traditioneller und einfacher zu implementieren, müssen jedoch mit Vorsicht konfiguriert werden, um die Sicherheit zu gewährleisten.

Um die Anwendung vor Sitzungsangriffen im Zusammenhang mit den Sitzungen zu schützen, sind folgende Maßnahmen erforderlich: 1. Stellen Sie die HTTPonly- und sicheren Flags ein, um die Sitzungs Cookies zu schützen. 2. Exportcodes für alle Benutzereingaben. 3. Implementieren Sie die Inhaltssicherheitsrichtlinie (CSP), um die Skriptquellen einzuschränken. Durch diese Richtlinien können Sitzungsangriffe im Zusammenhang mit Sitzungen effektiv geschützt und Benutzerdaten sichergestellt werden.

Methoden zur Optimierung der PHP -Sitzungsleistung gehören: 1. Start der Verzögerung der Sitzung, 2. Verwenden Sie Datenbank zum Speichern von Sitzungen, 3. Kompress -Sitzungsdaten, 14. Sitzungslebenszyklus verwalten und 5. Sitzungsfreigabe implementieren. Diese Strategien können die Effizienz von Anwendungen in hohen Parallelitätsumgebungen erheblich verbessern.

Thesession.gc_maxlifetimesettingInphpdeterminesthelifspanofSessionData, setInseconds.1) ItsconfiguredInphp.iniorviaini_Set (). 2) AbalanceIsneedToAvoidPerformanceSandunexexwortedyg -Probablogouts

In PHP können Sie die Funktion Session_name () verwenden, um den Sitzungsnamen zu konfigurieren. Die spezifischen Schritte sind wie folgt: 1. Verwenden Sie die Funktion Session_name (), um den Sitzungsnamen wie Session_name ("my_Session") festzulegen. 2. Nachdem Sie den Sitzungsnamen festgelegt haben, call Session_start (), um die Sitzung zu starten. Das Konfigurieren von Sitzungsnamen kann Sitzungsdatenkonflikte zwischen mehreren Anwendungen vermeiden und die Sicherheit verbessern, aber auf die Einzigartigkeit, Sicherheit, Länge und Festlegen des Zeitpunkts der Sitzungsnamen achten.


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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.
