1. Problem Bei großen Datenmengen in der Datenbank sollte man jeweils nur einen Teil davon abfragen, um den Server und die Seite zu entlasten. Hier verwenden wir die Paginierungskomponente von Die folgende Abbildung stellt den grundlegendsten Paging-Stil dar: Natürlich müssen entsprechende Events eingeführt werden, um bei Seitenwechseln die Datenbank abzufragen. 2. Lösung2.1 Paging-Komponente<el-pagination Hintergrund Layout = "Zurück, Pager, Weiter" :Seitengröße="8" :gesamt="gesamt" :current-page="Seitennummer" @current-change="handleCurrentChange"> </el-pagination>
2.2 Funktion zum Abrufen von Datenbankdaten: getData(): Die Parameter sind getData(Offset,Grenzwert){ dies.axios.post('/php/select.php', qs.stringify({ Versatz: Versatz, Grenze: Grenze, Typ: „Fundbüro“ }), { Header: { 'Inhaltstyp': 'Anwendung/x-www-form-urlencoded' } }).then((res) => { wenn(res.data === 0){ dies.gesamt = 0; diese.liste = []; zurückkehren; } dies.total = res.data.total diese.Liste = res.data.data dies.laden = falsch }).catch((err) => { dies.$message.error(err) }) } 2.3 Die Seite wird geladen und die Daten der ersten Seite müssen angefordert werdenerstellt () { dies.getData(0,8); }, Der Seitenwechsel löst die Funktion Rufen Sie getData auf, um Daten auf verschiedenen Seiten abzufragen: handleCurrentChange(Wert){ this.list = [] // Daten der vorherigen Seite löschen this.getData((val-1)*8,8); } Unten sind die Backend-Daten: Jetzt gibt es 10 Datensätze in der Datentabelle: Die vom Frontend Datei auswählen.php: <?php $servername = "lokaler Host"; $username = "Benutzername"; $password = "Passwort"; $dbname = "Datenbankname"; // Verbindung erstellen $conn = new mysqli($servername, $username, $password, $dbname); // Verbindung prüfen wenn ($conn->connect_error) { die("Verbindung fehlgeschlagen: " . $conn->connect_error); } $typ = $_POST['Typ']; //Start- und Endnummer der Front-End-Parameter abrufen wenn ( !isset( $_POST['offset'] ) ) { Echo 0; Ausfahrt(); }; $offset = (int)$_POST['Offset']; wenn ( !isset( $_POST['limit'] ) ) { Echo 0; Ausfahrt(); }; $limit = (int)$_POST['limit']; //Paginierungsabfragedatenbank $sql = "SELECT * FROM posts where type='$type' order by id desc LIMIT $limit OFFSET $offset"; $Ergebnis = $conn->query($sql); $sqlGetCount = "SELECT COUNT(*) cnt FROM posts where type='$type'"; : $rescnt = $conn->query($sqlGetCount); $rescnt = $rescnt->fetch_assoc(); $arr = Array(); wenn ($Ergebnis->Anz.Zeilen > 0) { während ( $row = $result->fetch_assoc() ) { array_push( $arr, $row ); } //echo json_encode( $arr, JSON_UNESCAPED_UNICODE ); echo json_encode(array_merge(array('Daten'=>$arr),array('total'=>(int)$rescnt['cnt']))); } anders { Echo 0; } mysqli_close( $conn ); ?> Hier wird SQL-Anweisung: "SELECT * FROM Beiträge, bei denen Typ='$type' ist, sortiert nach ID desc LIMIT $limit OFFSET $offset" 3. Analyse Dabei bedeutet Beispiel: $limit = 8, $offest = 0: bedeutet, dass die ersten 8 Daten in der Datenbank abgefragt werden, beginnend bei 0 (ohne 0, der MySQL-Index beginnt bei 0), und dass 8 Daten abgefragt werden, also 1 bis 8 Daten. Zu diesem Zeitpunkt ist der Parameter Gleichzeitig gibt select.php die Gesamtzahl der Dateneinträge zurück: SELECT COUNT(*) cnt FROM Beiträge, wobei Typ='$Typ' Nachdem die Front-End-Seite den 4. Ergebnisse Hinweis: Ihr Dies ist das Ende dieses Artikels über die Implementierung von Paging-Abfragen in Vue+ElementUI – MySQL-Daten. Weitere relevante Inhalte zur Implementierung von Paging-Abfragen in Vue+ElementUI finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Spezifische Verwendung von MySQL-Fensterfunktionen
In diesem Artikel wird der spezifische Code des n...
Vorwort Sass ist eine Erweiterung der CSS3-Sprach...
Das Div-Element wird verwendet, um Struktur und Hi...
In diesem Artikel wird der spezifische Code von V...
Inhaltsverzeichnis Anwendungsszenarien: Methode 1...
Inhaltsverzeichnis Hintergrund Problemort Weitere...
Inhaltsverzeichnis WebAPI DOM DOM-Baum Methode zu...
Inhaltsverzeichnis 1. Was ist der Lebenszyklus 2....
Inhaltsverzeichnis Verwendung von this.$set in Vu...
Inhaltsverzeichnis Anwendungsszenario Ideen Proje...
1. Entpacken Sie die heruntergeladene Datei wie u...
Vorwort WeChat-Miniprogramme bieten neue offene F...
1. Hot Deployment: Das bedeutet, das gesamte Proj...
Was ist LNMP: Linux+Nginx+Mysql+(php-fpm,php-mysq...
Der Dienst des Unternehmens verwendet Docker und ...