Heim > Artikel > Backend-Entwicklung > So paginieren Sie in PHP
Wenn auf einer Website zu viel Inhalt auf der Listenseite vorhanden ist, wird normalerweise die Paging-Funktion eingerichtet. Heute werden wir das Paging-Prinzip untersuchen und diese Funktion anhand eines kleinen Falls implementieren .
Seitenprinzip
Seitenanzeige, die aus der MySQL-Datenbank entnommenen Daten werden in regulären Abschnitten angezeigt und das Limit in der SQL-Anweisung wird verwendet, um sie zu binden Startdaten zur Anzahl der Seiten Ermitteln und Abrufen von Daten aus der Datenbank basierend auf der Anzahl der Seiten.
Zum Beispiel: Nehmen wir an, dass der Name der Datenbanktabelle list ist und von jeder Seite 10 Informationen abgerufen werden
第1页 select * from list limit 0,10; 第2页 select * from list limit 10,10; 第3页 select * from list limit 20,10; 由此观之第n页 是select * from list limit (n-1)*10,10;
Auf diese Weise erhalten wir eine Formel, die die Anzahl der Seiten verwendet Daten abrufen:
select * from list limit ($page-1)*$pagesize,$pagesize; $page是当前的页数,$pagesize是每页取得条数
Erforderliche Wissenspunkte
1. Grundlegende Datenbankbetriebsfunktionen
1.1, mysqli_connect(); , zum Beispiel $link = mysqli_connect('127.0.0.1 ','root',12345678,'bbs');
1.2. Zum Beispiel $res = mysqli_query($link ,„select * from list“); Der zweite Parameter ist sql Statement
1.3, mysqli_num_rows(): Überprüfen Sie, wie viele Daten erhalten wurden, z 🎜>
1.4, mysqli_fetch_assoc() oder mysqli_fetch_row(): Konzentrieren Sie sich auf das Abrufen eines Datenelements und rufen Sie jeweils nur ein Datenelement ab. Nach dem Abrufen zeigt der Zeiger auf das nächste Datenelement. Beispielsweise verfügt mysqli_fetch_assoc($res) zusätzlich zu fetch_assoc über fetch_row und fetch_array1.5, limit wird zum Betreiben von Daten in der Datenbank verwendet, limit ist die Startposition und die Anzahl der Operationen beträgt z Beispiel: Abrufen von Zahlen aus der Datenbank, Auswahl * aus Listenlimit 10,10 ;2. Weitere verwandte Kenntnisse
2.1 $_SERVER['REQUEST_URI']获取当前页面的url 例如https://i.cnblogs.com/EditPosts.aspx?opt=1的url为/EditPosts.aspx?opt=1 2.2 parse_url():解析url,返回url的各个组成部分,如果不写第二个参数,返回的数组中可能的键有以下几种: scheme - 如 http, host port user pass path query - 在问号 ? 之后 fragment - 在散列符号 # 之后
Implementierungsprozess:
4. Weisen Sie der Variablen $page die berechnete Grenzanfangsposition zu
5. Verwenden Sie $page und $ pageSize, um Daten abzurufen
6. Durchlaufen Sie die Daten Sammlung bequem, und die Ausgabe wird auf der Seite angezeigt
Spezifischer Code:$url = $_SERVER['REQUEST_URI']; $url = parse_url($url); $url = $url['path']; $pageSize = 4;//连接服务器$link = mysqli_connect('127.0.0.1','root',12345678,'bbs'); $res = mysqli_query($link,'select * from fenye'); $num = mysqli_num_rows($res); $pageNum = ceil($num/$pageSize);//判断页面是否是提交状态if ( isset($_GET['page']) && $_GET['page'] >1) { $pageVal = $_GET['page']; }else { $pageVal = 1; }//计算起始位置$page = ($pageVal-1)*$pageSize;//去数据库取数据$res = $mysqli_query($link,"select * from fenye limit $page,$pageSize");//如果$res有值,则循环便利结果展示输出在页面if ($res) { while( $row = mysqli_fetch_assoc($res) ) { echo $row['name']. '|'.$row['age'].'<br/>'; } }//html添加页数部分<a href="?page=1">1</a>; <a href="?page=2">2</a>; <a href="?page=3">3</a>; <a href="?page=4">4</a>; <a href="?page=5">5</a>; 总共<?php echo $pageNum; ?>页,当前在<?php echo $pageVal;?>页
Das obige ist der detaillierte Inhalt vonSo paginieren Sie in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!