Heim > Datenbank > MySQL-Tutorial > Wie paginiere ich MySQL-Abfragen mit PHP, um 10 Ergebnisse pro Seite anzuzeigen?

Wie paginiere ich MySQL-Abfragen mit PHP, um 10 Ergebnisse pro Seite anzuzeigen?

Patricia Arquette
Freigeben: 2024-12-02 04:06:09
Original
238 Leute haben es durchsucht

How to Paginate MySQL Queries with PHP to Display 10 Results Per Page?

PHP- und MySQL-Paginierung

Paginierung ist bei der Arbeit mit großen Datenmengen von entscheidender Bedeutung, da sie es dem Benutzer ermöglicht, nur einen Teil der relevanten Daten zu laden Daten, wodurch die Serverlast reduziert und die Reaktionsgeschwindigkeit der Anwendung verbessert wird. Diese Fragen und Antworten zeigen Ihnen, wie Sie paginierte Abfragen mit PHP und MySQL verwenden.

Frage:

Wie paginiere ich eine MySQL-Abfrage, um 10 Ergebnisse pro Seite anzuzeigen?

Antwort:

<?php

// 数据库连接代码在此处省略

$perPage = 10;
$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
$startAt = $perPage * ($page - 1);

$query = "SELECT COUNT(*) as total FROM redirect
WHERE user_id = '".$_SESSION['user_id']."'";
$r = mysql_fetch_assoc(mysql_query($query));

$totalPages = ceil($r['total'] / $perPage);

$links = "";
for ($i = 1; $i <= $totalPages; $i++) {
  $links .= ($i != $page)
            ? "<a href='index.php?page=$i'>Page $i</a> "
            : "$page ";
}

$query = "SELECT * FROM 'redirect'
WHERE 'user_id'= \''.$_SESSION['user_id'].' \' 
ORDER BY 'timestamp' LIMIT $startAt, $perPage";

$r = mysql_query($query);

// 在此处显示结果

echo $links; // 显示其他页面的链接
Nach dem Login kopieren

Erklärung:

  1. Paging-Variablen festlegen: $perPage gibt die Anzahl der Ergebnisse pro Seite an, $page Ruft die aktuelle Seitenzahl ab (standardmäßig 1, wenn nicht angegeben).
  2. SQL-Offset berechnen: $startAt berechnet den Offset, der für die SKIP-Klausel in der Abfrage erforderlich ist.
  3. Gesamtzahl der Ergebnisseiten abrufen: Führen Sie eine separate Abfrage aus, um die Gesamtzahl der Ergebnisse im Datensatz abzurufen, und berechnen Sie dann die Gesamtzahl der Seiten.
  4. Paginierte Links generieren: Verwenden Sie eine Schleife, um Links zu anderen Seiten zu generieren und die aktuelle Seite hervorzuheben.
  5. Führen Sie eine paginierte Abfrage aus: Fügen Sie OFFSET- und LIMIT-Klauseln zur Hauptabfrage hinzu, um die Abfrageergebnisse einzuschränken.
  6. Ergebnisse anzeigen: Ergebnisse auf einer benutzerdefinierten Seite mit Paginierungslinks am Ende der Seite anzeigen.

Das obige ist der detaillierte Inhalt vonWie paginiere ich MySQL-Abfragen mit PHP, um 10 Ergebnisse pro Seite anzuzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage