Heim > Datenbank > MySQL-Tutorial > Wie kann ich mithilfe von OFFSET und LIMIT effizient die Gesamtzahl der Ergebnisse für paginierte MySQL-Abfragen ermitteln?

Wie kann ich mithilfe von OFFSET und LIMIT effizient die Gesamtzahl der Ergebnisse für paginierte MySQL-Abfragen ermitteln?

Patricia Arquette
Freigeben: 2024-12-01 00:36:12
Original
757 Leute haben es durchsucht

How Can I Efficiently Get the Total Count of Results for Paginated MySQL Queries Using OFFSET and LIMIT?

Ermitteln der Gesamtergebnisse für paginierte MySQL-Abfragen mit Offset und Limit

Beim Implementieren der Paginierung in PHP/MySQL wird die Gesamtzahl der Ergebnisse ermittelt entscheidend für die Berechnung der Seitenzahl. Anstatt die Abfrage zweimal auszuführen, sollten Sie die Verwendung von SQL_CALC_FOUND_ROWS in Betracht ziehen.

Beispiel:

SELECT SQL_CALC_FOUND_ROWS *
FROM directory_listings
WHERE category_id = ?
LIMIT ? OFFSET ?
Nach dem Login kopieren

Diese Abfrage ruft die gewünschte Anzahl von Ergebnissen ab und berechnet gleichzeitig die Gesamtzahl der qualifizierenden Ergebnisse Zeilen.

// Execute the query with pagination parameters
$results = $db->query($query, [
    'category_id' => $categoryId,
    'limit' => $limit,
    'offset' => $offset
]);

// Retrieve the found row count
$foundRows = $db->query("SELECT FOUND_ROWS() AS num_rows")->row();

// Calculate total pages
$totalPages = ceil($foundRows->num_rows / $limit);
Nach dem Login kopieren

Vorteile:

  • Effizient: Nur eine Abfrageausführung statt mehrerer.
  • Genau: Bietet eine genaue Zählung von alle qualifizierenden Zeilen, unabhängig davon Paginierung.

Hinweis:

SQL_CALC_FOUND_ROWS muss in Verbindung mit LIMIT verwendet werden, um die Zeilenanzahl genau zu berechnen und Fehlzählungen zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von OFFSET und LIMIT effizient die Gesamtzahl der Ergebnisse für paginierte MySQL-Abfragen ermitteln?. 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