Heim > Backend-Entwicklung > PHP-Problem > So erzielen Sie einen Paging-Effekt in PHP

So erzielen Sie einen Paging-Effekt in PHP

爱喝马黛茶的安东尼
Freigeben: 2023-02-23 13:58:01
Original
3322 Leute haben es durchsucht

So erzielen Sie einen Paging-Effekt in PHP

Paging-Effekt ist bei Webseiten üblich, aber wie können wir Paging erreichen? Heute haben wir zwei Methoden angewendet, um den Paging-Effekt zu erzielen.

Zuerst müssen wir eine Tabelle in der Datenbank vorbereiten und Daten einfügen. Dies sind alles notwendige Voraussetzungen, wie im Bild gezeigt (der Bibliotheksname ist jereh, der Tabellenname ist n_content):

So erzielen Sie einen Paging-Effekt in PHP

Schrittanalyse:

Wenn wir Paging benötigen, müssen wir „select * from tableName limit num1,num2“ verwenden; eingeschränkte Abfrageanweisung, gefolgt von zwei Parametern, num1 ist die Nummer, ab der mit der Suche begonnen werden soll, und num2 ist die Anzahl der zu durchsuchenden Informationen. Ich möchte beispielsweise nach drei Datenelementen suchen: 2, 3 und 4 in der folgenden Abbildung dargestellt:

So erzielen Sie einen Paging-Effekt in PHP

Verwandte Empfehlungen: „PHP-Tutorial

Okay, beginnen wir mit den Schritten:

1. Erstellen Sie eine Funktion, um die Funktion zur Einschränkung von Abfragen zu implementieren.

Um diese Funktion zu implementieren, müssen wir zunächst wissen, wie viele Informationen wir auf einer Seite einschränken möchten Formale Parameter. Dann legen wir „pageNum“ auf die Anzahl der Seiten und „pageSize“ fest, um mehrere Daten auf einer Seite anzuzeigen. In der Abfrageanweisung „select * from tableName limit num1,num2“

num1 ist (pageNum-1) *pageSize, num2 ist pageSize. Nach dem Verständnis dieser Beziehung ist es einfacher zu handhaben. Der Code lautet wie folgt:

//分页的函数
function news($pageNum = 1, $pageSize = 3)
{
    $array = array();
    $coon = mysqli_connect("localhost", "root");
    mysqli_select_db($coon, "jereh");
    mysqli_set_charset($coon, "utf8");
    // limit为约束显示多少条信息,后面有两个参数,第一个为从第几个开始,第二个为长度
    $rs = "select * from n_content limit " . (($pageNum - 1) * $pageSize) . "," . $pageSize;
    $r = mysqli_query($coon, $rs);
    while ($obj = mysqli_fetch_object($r)) {
        $array[] = $obj;
    }
    mysqli_close($coon,"jereh");
    return $array;
}
Nach dem Login kopieren

Im obigen Code ist es so Beachten Sie, dass nach dem Limit ein Leerzeichen hinzugefügt werden muss, da sonst ein Fehler auftritt.

2. Erstellen Sie eine zweite Funktion, um die Gesamtzahl der Seiten anzuzeigen.

Es gibt keine neuen Wissenspunkte. Es sind alles Wissenspunkte, die bereits geschrieben wurden.

//显示总页数的函数
function allNews()
{
    $coon = mysqli_connect("localhost", "root");
    mysqli_select_db($coon, "jereh");
    mysqli_set_charset($coon, "utf8");
    $rs = "select count(*) num from n_content"; //可以显示出总页数
    $r = mysqli_query($coon, $rs);
    $obj = mysqli_fetch_object($r);
    mysqli_close($coon,"jereh");
    return $obj->num;
}
Nach dem Login kopieren

3. Rufen Sie diese beiden Funktionen zur Vorverarbeitung auf.

Wir möchten die nächste Seite und die Ergebnisse der nächsten Seite erstellen. Wir müssen die Get-Methode verwenden, um Daten auf dieser Seite zu übertragen. Wenn wir dann die Seite aktualisieren, werden die Daten definitiv nicht abgerufen. Wir müssen also die trinokulare Arithmetik verwenden. Schauen wir uns den Code an.

<?php
   @$allNum = allNews();
   @$pageSize = 3; //约定每页显示的信息条数
   @$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"];
   @$endPage = ceil($allNum/$pageSize); //总页数
   @$array = news($pageNum,$pageSize);
   ?>
Nach dem Login kopieren

4. Anzeige auf der Seite.

Um auf der Seite anzuzeigen, müssen Sie eine foreach-Schleife verwenden. Der Code ist einfach, siehe unten:

<table border="1" style="text-align: center" cellpadding="0">
    <tr>
        <td>编号</td>
        <td>新闻标题</td>
        <td>来源</td>
        <td>点击率</td>
        <td>发布日期</td>
    </tr>
    <?php
    foreach($array as $key=>$values){
        echo "<tr>";
        echo "<td>{$values->id}</td>";
        echo "<td>{$values->title}</td>";
        echo "<td>{$values->src}</td>";
        echo "<td>{$values->indexs}</td>";
        echo "<td>{$values->times}</td>";
        echo "</tr>";
    }
    ?>
</table>
Nach dem Login kopieren

Um den Effekt der vorherigen Seite und der nächsten Seite zu erzielen.

Um den Seitensprungeffekt zu erzielen, müssen wir das href-Attribut des a-Tags verwenden. Die Adresse lautet „?pageNum =…“ Diese pageNum wird von uns selbst definiert, da sie von get übergeben wird. Im vorherigen Schritt haben wir $_GET verwendet, um die Parameter zu akzeptieren, daher müssen wir nur die get-Parameter übergeben:

Homepage: "pageNum=1";

Vorherige Seite: " pageNum="

Nächste Seite:"pageNum="

Letzte Seite: "pageNum=";

Besondere Aufmerksamkeit gilt: "pageNum= "Be Stellen Sie sicher, dass kein Leerzeichen folgt. Der Code lautet wie folgt:

<a href="?pageNum=1">首页</a>
   <a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">上一页</a>
   <a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">下一页</a>
   <a href="?pageNum=<?php echo $endPage?>">尾页</a>
Nach dem Login kopieren

Der Gesamtcode lautet wie folgt:




    
    分页
   

<table border="1" style="text-align: center" cellpadding="0"> <tr> <td>编号</td> <td>新闻标题</td> <td>来源</td> <td>点击率</td> <td>发布日期</td> </tr> <?php foreach($array as $key=>$values){ echo "<tr>"; echo "<td>{$values->id}</td>"; echo "<td>{$values->title}</td>"; echo "<td>{$values->src}</td>"; echo "<td>{$values->indexs}</td>"; echo "<td>{$values->times}</td>"; echo "</tr>"; } ?> </table>
Nach dem Login kopieren

Der Effekt ist wie folgt:

Das obige ist der detaillierte Inhalt vonSo erzielen Sie einen Paging-Effekt in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage