So implementieren Sie die PHP-Paging-Funktion: Verwenden Sie zuerst „parse_url“, um das URL-Array zu analysieren. Rufen Sie dann die Listenseite ab, sammeln Sie den anzuzeigenden Inhalt und weisen Sie dann der Variablen $page die berechnete maximale Startposition zu ; Verwenden Sie abschließend $page und $pageSize, um Daten aus der Datenbank abzurufen und zur Anzeige auszugeben.
Implementierung der PHP-Paging-Funktion
Wenn auf einer Website zu viel Inhalt auf der Listenseite vorhanden ist, Paging ist normalerweise eine eingerichtete Funktion. Heute werden wir gemeinsam das Paging-Prinzip studieren und diese Funktion anhand eines kleinen Falls implementieren.
Empfohlen: „PHP-Tutorial“
Paging-Prinzip
Seitenanzeige: Die aus der MySQL-Datenbank entnommenen Daten werden in regulären Abschnitten angezeigt. Verwenden Sie das Limit in der SQL-Anweisung, um die Startdaten an die Anzahl der Seiten zu binden und abzurufen Daten aus der Datenbank entsprechend der Anzahl der Seiten.
Zum Beispiel: Nehmen Sie an, dass der Name der Datenbanktabelle eine Liste ist und 10 Informationen von jeder Seite abgerufen werden
第1页 select * from list limit 0,10; 第2页 select * from list limit 10,10; 第3页 select * from list limit 20,10;
Von diesem Punkt an Ansicht, die n-te Seite ist select * from list limit (n-1)*10,10 ;
Auf diese Weise erhalten wir eine Formel, um Daten mithilfe der Anzahl der Seiten zu erhalten:
select * aus Listenlimit ($page-1)*$pagesize,$pagesize; $page ist die aktuelle Anzahl der Seiten, $pagesize ist die Anzahl der Elemente pro Seite
Erforderliche Wissenspunkte
1.基本的操作数据库函数 1.1 mysqli_connect();连接数据库,例如$link = mysqli_connect('127.0.0.1','root',12345678,'bbs'); 1.2 mysqli_query():获取数据 例如$res = mysqli_query($link,"select * from list");第二个参数为sql语句 1.3 mysqli_num_rows():查看获取了多少条数据 例如 $num = mysqli_num_rows($res); 1.4 mysqli_fetch_assoc(),或者mysqli_fetch_row():从获取的数据集中取一条数据,每次只取一条,取完指针就指向下一条. 例如mysqli_fetch_assoc($res),除了fetch_assoc,fetch_row还有fetch_array,他们具体的区别请参考手册 1.5 limit 操作数据库中数据的,limit 开始位置,操作条数 例如从数据库中取数 select * from list limit 10,10; 2.其他相关知识 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
1. Rufen Sie die aktuelle URL-Zeichenfolge ab und verwenden Sie parse_url, um das URL-Array abzurufen.
2. Stellen Sie eine Verbindung zum Server her und rufen Sie die Inhaltssammlung ab, die auf dem angezeigt werden soll Listenseite, zählen Sie die Gesamtzahl der angezeigten Elemente und berechnen Sie dann die Gesamtzahl der Inhaltsseiten
3. Bestimmen Sie, ob sich die Seite im Übermittlungsstatus befindet. Wenn nicht, ist die Standardeinstellung die erste Seite $pageval
4. Weisen Sie der Variablen $page die berechnete Grenzstartposition zu
5. Verwenden Sie $page und $pageSize, um Daten aus der Datenbank abzurufen
6 , und die Ausgabe wird auf der Seite angezeigt
Der spezifische Code lautet wie folgt
$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 vonInformationen zur Implementierung der PHP-Paging-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!