nodejs merangkum mysql untuk melaksanakan paging

王林
Lepaskan: 2023-05-28 13:40:38
asal
804 orang telah melayarinya

Dengan perkembangan pesat Internet, semakin banyak laman web dan aplikasi dibangunkan, dan jumlah data menjadi lebih besar dan lebih besar, jadi pemprosesan dan pengurusan data menjadi lebih penting. Antaranya, paging ialah kaedah pertanyaan data yang sangat biasa, yang boleh memaparkan sejumlah besar data dengan mudah dan memberikan pengguna pengalaman pengguna yang lebih baik. Dalam pembangunan, kami biasanya menggunakan pangkalan data MySQL untuk menyimpan data Artikel ini memperkenalkan cara menggunakan Node.js untuk merangkum MySQL untuk melaksanakan fungsi pertanyaan paging.

  1. Buat jadual pangkalan data

Pertama, kita perlu mencipta jadual dalam MySQL untuk menyimpan data yang kita perlukan. Artikel ini mengambil jadual "pengguna" sebagai contoh, yang mengandungi tiga medan: id, nama dan umur. Struktur jadual dan data khusus adalah seperti berikut:

CREATE TABLE users (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(20) NOT NULL,
  age INT(11) NOT NULL,
  PRIMARY KEY (id)
);

INSERT INTO users (name, age) VALUES ('小明', 18);
INSERT INTO users (name, age) VALUES ('小红', 20);
INSERT INTO users (name, age) VALUES ('小华', 22);
INSERT INTO users (name, age) VALUES ('小张', 25);
INSERT INTO users (name, age) VALUES ('小李', 28);
INSERT INTO users (name, age) VALUES ('小刘', 30);
Salin selepas log masuk
  1. Pasang modul MySQL dan mysql

Seterusnya, kita perlu memasang pangkalan data MySQL dan modul mysql yang sepadan. Ia boleh dipasang melalui arahan berikut:

npm install mysql
Salin selepas log masuk
  1. Pelaksanaan pertanyaan paging

Sebelum menggunakan modul mysql, kita perlu menyambung ke pangkalan data MySQL melalui kod berikut:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'test'
});

connection.connect();
Salin selepas log masuk

Di sini, kami menetapkan nama pangkalan data yang disambungkan kepada "ujian", anda perlu menukarnya mengikut situasi sebenar anda.

Seterusnya, kami merangkum fungsi pertanyaan halaman untuk menanyakan bilangan halaman data yang ditentukan. Nama fungsi ialah "queryByPage", dan parameter yang dihantar ialah:

  • tableName: nama jadual data yang akan disoal
  • pageNum: bilangan halaman yang akan disoal
  • Saiz halaman: bilangan data yang dipaparkan pada setiap halaman
  • panggilan balik: fungsi panggil balik, digunakan untuk menerima hasil pertanyaan

Kod pelaksanaan fungsi adalah seperti berikut:

function queryByPage(tableName, pageNum, pageSize, callback) {
  const start = (pageNum - 1) * pageSize;
  const sql = `SELECT * FROM ${tableName} ORDER BY id DESC LIMIT ${start}, ${pageSize}`;
  connection.query(sql, (err, results) => {
    if (err) {
      return callback(err, null);
    }
    const countSql = `SELECT count(*) as count FROM ${tableName}`;
    connection.query(countSql, (err, count) => {
      if (err) {
        return callback(err, null);
      }
      const totalCount = count[0].count;
      const totalPage = Math.ceil(totalCount / pageSize);
      return callback(null, {
        pageNum,
        pageSize,
        totalCount,
        totalPage,
        data: results
      });
    });
  });
}
Salin selepas log masuk

Kod di atas melaksanakan Beberapa fungsi berikut:

  • Kira kedudukan permulaan data pertanyaan berdasarkan bilangan halaman yang dihantar masuk dan bilangan data yang dipaparkan pada setiap halaman
  • Laksanakan pernyataan pertanyaan MySQL untuk melaksanakan pertanyaan paging dan dapatkan hasil Pertanyaan
  • Laksanakan pernyataan pertanyaan MySQL dan dapatkan jumlah data
  • Kira jumlah halaman berdasarkan jumlah jumlah data dan bilangan data yang dipaparkan pada setiap halaman
  • Halaman hasil pertanyaan Maklumat dirangkumkan ke dalam objek untuk panggil balik
  1. Panggil fungsi pertanyaan halaman

Akhir sekali, kita boleh memanggil fungsi pertanyaan paging terkapsul dalam aplikasi Node.js , dan memaparkan hasil pertanyaan seperti yang diperlukan.

queryByPage('users', 1, 2, (err, result) => {
  if (err) {
    console.error(err.message);
    return;
  }
  console.log(result);
});
Salin selepas log masuk

Kod di atas akan menanyakan halaman pertama data dalam jadual "pengguna", memaparkan 2 rekod pada setiap halaman dan mengeluarkan hasil pertanyaan ke konsol.

  1. Ringkasan

Artikel ini memperkenalkan cara menggunakan Node.js untuk merangkum MySQL bagi melaksanakan fungsi pertanyaan halaman. Dengan mencipta jadual pangkalan data, memasang modul mysql dan merangkum fungsi pertanyaan, kami boleh dengan mudah menanyakan data bilangan halaman tertentu dan memaparkannya dalam aplikasi. Sudah tentu, dalam aplikasi sebenar, kita juga perlu menambah baik kod mengikut situasi sebenar, dan melakukan pengendalian ralat dan pengendalian pengecualian.

Atas ialah kandungan terperinci nodejs merangkum mysql untuk melaksanakan paging. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan