Jadual Kandungan
2.1 Komponen halaman
2.2 Fungsi untuk mendapatkan data pangkalan data: getData():
2.3 Halaman dimuatkan dan data halaman pertama perlu diminta
3 Analisis
Rumah pangkalan data tutorial mysql Bagaimana Vue+ElementUI melaksanakan fungsi paging untuk menanyakan data mysql

Bagaimana Vue+ElementUI melaksanakan fungsi paging untuk menanyakan data mysql

Jun 01, 2023 pm 04:19 PM
mysql vue elementui

    1. Masalah

    Apabila terdapat banyak data dalam pangkalan data, anda perlu menanyakan sebahagian sahaja pada satu masa untuk melegakan tekanan pada pelayan dan halaman. Di sini kami menggunakan komponen Penomboran elementui dan pernyataan mysql limit untuk melaksanakan pertanyaan paging data mysql.

    Gambar berikut ialah gaya halaman muka surat yang paling asas:

    Bagaimana Vue+ElementUI melaksanakan fungsi paging untuk menanyakan data mysql

    Sudah tentu, acara yang sepadan perlu diperkenalkan kepada laksanakan perubahan halaman. Hanya tanya pangkalan data.

    Bagaimana Vue+ElementUI melaksanakan fungsi paging untuk menanyakan data mysql

    2. Selesaikan

    2.1 Komponen halaman

    <el-pagination
            background
            layout="prev, pager, next"
            :page-size="8"
            :total="total"
            :current-page="pageNum"
            @current-change="handleCurrentChange">
    </el-pagination>
    Salin selepas log masuk

    data: Mulakan jumlah bilangan item data (total ) ialah 1, pageNum iaitu nombor halaman semasa ialah halaman pertama.

    Bagaimana Vue+ElementUI melaksanakan fungsi paging untuk menanyakan data mysql

    2.2 Fungsi untuk mendapatkan data pangkalan data: getData():

    Parameternya ialah offset, limit, minta data daripada bahagian belakang , dijelaskan kemudian. Parameter siri qs digunakan di sini. Anda boleh rujuk blog saya yang lain: Vue + ElementUI + ViewerGambar tidak boleh dipratonton selepas membelok halaman Masalah komunikasi tak segerak komponen induk dan anak Vue. Fungsi qs dijelaskan di dalamnya.

    getData(offset,limit){
          this.axios.post(&#39;/php/select.php&#39;, qs.stringify({
            offset: offset,
            limit: limit,
            type: &#39;失物招领&#39;
          }), { headers: { &#39;Content-Type&#39;: &#39;application/x-www-form-urlencoded&#39; } }).then((res) => {
            if(res.data === 0){
              this.total = 0;
              this.list = [];
              return;
            }
            this.total = res.data.total
            this.list = res.data.data
            this.loading = false
          }).catch((err) => {
            this.$message.error(err)
          })
        }
    Salin selepas log masuk

    2.3 Halaman dimuatkan dan data halaman pertama perlu diminta

    created () {
        this.getData(0,8);
      },
    Salin selepas log masuk

    Perubahan halaman mencetuskan fungsi handleCurrentChange(), iaitu mengklik pada pusingan halaman, di mana Parameter val ialah nombor halaman semasa, gunakan Parameter baharu,

    panggil getData untuk menanyakan data pada halaman yang berbeza:

    handleCurrentChange(val){
          this.list = [] //清空上一页数据
          this.getData((val-1)*8,8);
        }
    Salin selepas log masuk

    Berikut ialah data hujung belakang: < code>php + mysqlphp + mysql<br/>

    Kini terdapat sejumlah 10 keping data dalam jadual data:

    Bagaimana Vue+ElementUI melaksanakan fungsi paging untuk menanyakan data mysql

    Halaman hadapan getDataDiminta select.phpFail

    select.php:

    <?php
    $servername = "localhost";
    $username = "用户名";
    $password = "密码";
    $dbname = "数据库名称";
    
    // 创建连接
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    } 
    
    $type = $_POST[&#39;type&#39;];
    //获取前端的参数 开始和结束number
    if ( !isset( $_POST[&#39;offset&#39;] ) ) {
     echo 0;
     exit();
    };
    $offset = ( int )$_POST[&#39;offset&#39;];
    
    if ( !isset( $_POST[&#39;limit&#39;] ) ) {
     echo 0;
     exit();
    };
    $limit = ( int )$_POST[&#39;limit&#39;];
    //分页查询数据库
    $sql = "SELECT * FROM posts where type=&#39;$type&#39;  order by id desc LIMIT $limit OFFSET $offset";
    $result = $conn->query($sql);
    
    $sqlGetCount = "SELECT COUNT(*) cnt FROM posts where type=&#39;$type&#39;";
    $rescnt = $conn->query($sqlGetCount);
    $rescnt = $rescnt->fetch_assoc();
    $arr = array();
    if ($result->num_rows > 0) {
     while ( $row = $result->fetch_assoc() ) {
        array_push( $arr, $row );
    }
     //echo json_encode( $arr, JSON_UNESCAPED_UNICODE );
     echo json_encode(array_merge(array(&#39;data&#39;=>$arr),array(&#39;total&#39;=>(int)$rescnt[&#39;cnt&#39;])));
     
    } else {
        echo 0;
    }
    mysqli_close( $conn );
    ?>
    Salin selepas log masuk

    Di sini kami menggunakan mysql's limit untuk bertanya hanya sebahagian daripada data pada satu masa, dan parameter offset dan limit.

    Pernyataan SQL:

    "SELECT * FROM posts where type=&#39;$type&#39;  order by id desc LIMIT $limit OFFSET $offset"
    Salin selepas log masuk

    3 Analisis

    LIMIT $limit OFFSET $offset di sini bermaksud daripada $offest Bermula dari nilai, pertanyaan $limit kepingan data.

    Contohnya, $limit = 8, $offest = 0: bermaksud menanyakan 8 keping data pertama dalam pangkalan data, bermula dari 0 (tidak termasuk 0, indeks mysql bermula dari 0), Pertanyaan 8 item, iaitu, 1~8 keping data.
    Apabila saya mengklik pada halaman kedua: mencetuskan fungsi handleCurrentChange():

    Bagaimana Vue+ElementUI melaksanakan fungsi paging untuk menanyakan data mysql

    Pada masa ini parameternya ialah val=2, kemudian offest = 8, limit = 8.
    Data ke-9 hingga ke-17 akan disoal Jika tiada data ke-17, semua data selepas data ke-9 akan dikembalikan. Sebagai contoh, pangkalan data saya pada masa ini hanya mempunyai 10 keping data, jadi keping ke-9 dan ke-10 data akan dikembalikan.

    Pada masa yang sama, halaman tengah select.php mengembalikan jumlah bilangan data:

    SELECT COUNT(*) cnt FROM posts where type=&#39;$type&#39;
    Salin selepas log masuk

    Bagaimana Vue+ElementUI melaksanakan fungsi paging untuk menanyakan data mysql

    Halaman akhir hadapan memperoleh kepada total (atribut this.total terikat, iaitu jumlah bilangan item data). Pagination的totalData akan dinomborkan secara automatik berdasarkan atribut:Pagination. Sebagai contoh, jika jumlah yang dikembalikan oleh bahagian belakang ialah 10, ia akan dibahagikan kepada dua halaman. page-size="8"

    Bagaimana Vue+ElementUI melaksanakan fungsi paging untuk menanyakan data mysql

    4. Keputusan


    Halaman dimuatkan: Oleh kerana saya mencari dalam susunan terbalik berdasarkan id, saya mendapat yang ke-3 ~10 keping data (jumlah 8 keping).

    Bagaimana Vue+ElementUI melaksanakan fungsi paging untuk menanyakan data mysql

    Klik halaman kedua atau butang pusing halaman: Dapatkan data pertama dan kedua.

    Bagaimana Vue+ElementUI melaksanakan fungsi paging untuk menanyakan data mysql

    Nota: Parameter anda mesti konsisten dengan atribut limit Pagination, yang bermaksud anda boleh bertanya satu halaman data pada satu masa. Dan page-size ialah nombor halaman semasa. offset

    Atas ialah kandungan terperinci Bagaimana Vue+ElementUI melaksanakan fungsi paging untuk menanyakan data mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    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

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Tetapan grafik terbaik
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
    4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Cara Membuka Segala -galanya Di Myrise
    1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    MySQL: Kemudahan Pengurusan Data untuk Pemula MySQL: Kemudahan Pengurusan Data untuk Pemula Apr 09, 2025 am 12:07 AM

    MySQL sesuai untuk pemula kerana mudah dipasang, kuat dan mudah untuk menguruskan data. 1. Pemasangan dan konfigurasi mudah, sesuai untuk pelbagai sistem operasi. 2. Menyokong operasi asas seperti membuat pangkalan data dan jadual, memasukkan, menanyakan, mengemas kini dan memadam data. 3. Menyediakan fungsi lanjutan seperti menyertai operasi dan subqueries. 4. Prestasi boleh ditingkatkan melalui pengindeksan, pengoptimuman pertanyaan dan pembahagian jadual. 5. Sokongan sokongan, pemulihan dan langkah keselamatan untuk memastikan keselamatan data dan konsistensi.

    Cara Membuat Premium Navicat Cara Membuat Premium Navicat Apr 09, 2025 am 07:09 AM

    Buat pangkalan data menggunakan Navicat Premium: Sambungkan ke pelayan pangkalan data dan masukkan parameter sambungan. Klik kanan pada pelayan dan pilih Buat Pangkalan Data. Masukkan nama pangkalan data baru dan set aksara yang ditentukan dan pengumpulan. Sambung ke pangkalan data baru dan buat jadual dalam penyemak imbas objek. Klik kanan di atas meja dan pilih masukkan data untuk memasukkan data.

    Mysql: Konsep mudah untuk pembelajaran mudah Mysql: Konsep mudah untuk pembelajaran mudah Apr 10, 2025 am 09:29 AM

    MySQL adalah sistem pengurusan pangkalan data sumber terbuka. 1) Buat Pangkalan Data dan Jadual: Gunakan perintah Createdatabase dan Createtable. 2) Operasi Asas: Masukkan, Kemas kini, Padam dan Pilih. 3) Operasi lanjutan: Sertai, subquery dan pemprosesan transaksi. 4) Kemahiran Debugging: Semak sintaks, jenis data dan keizinan. 5) Cadangan Pengoptimuman: Gunakan indeks, elakkan pilih* dan gunakan transaksi.

    MySQL dan SQL: Kemahiran Penting untuk Pemaju MySQL dan SQL: Kemahiran Penting untuk Pemaju Apr 10, 2025 am 09:30 AM

    MySQL dan SQL adalah kemahiran penting untuk pemaju. 1.MYSQL adalah sistem pengurusan pangkalan data sumber terbuka, dan SQL adalah bahasa standard yang digunakan untuk mengurus dan mengendalikan pangkalan data. 2.MYSQL menyokong pelbagai enjin penyimpanan melalui penyimpanan data yang cekap dan fungsi pengambilan semula, dan SQL melengkapkan operasi data yang kompleks melalui pernyataan mudah. 3. Contoh penggunaan termasuk pertanyaan asas dan pertanyaan lanjutan, seperti penapisan dan penyortiran mengikut keadaan. 4. Kesilapan umum termasuk kesilapan sintaks dan isu -isu prestasi, yang boleh dioptimumkan dengan memeriksa penyataan SQL dan menggunakan perintah menjelaskan. 5. Teknik pengoptimuman prestasi termasuk menggunakan indeks, mengelakkan pengimbasan jadual penuh, mengoptimumkan operasi menyertai dan meningkatkan kebolehbacaan kod.

    Cara Membuat Sambungan Baru ke MySQL di Navicat Cara Membuat Sambungan Baru ke MySQL di Navicat Apr 09, 2025 am 07:21 AM

    Anda boleh membuat sambungan MySQL baru di Navicat dengan mengikuti langkah -langkah: Buka aplikasi dan pilih Sambungan Baru (Ctrl N). Pilih "MySQL" sebagai jenis sambungan. Masukkan nama host/alamat IP, port, nama pengguna, dan kata laluan. (Pilihan) Konfigurasikan pilihan lanjutan. Simpan sambungan dan masukkan nama sambungan.

    Cara membuka phpmyadmin Cara membuka phpmyadmin Apr 10, 2025 pm 10:51 PM

    Anda boleh membuka phpmyadmin melalui langkah -langkah berikut: 1. Log masuk ke panel kawalan laman web; 2. Cari dan klik ikon phpmyadmin; 3. Masukkan kelayakan MySQL; 4. Klik "Login".

    Cara Melaksanakan SQL di Navicat Cara Melaksanakan SQL di Navicat Apr 08, 2025 pm 11:42 PM

    Langkah -langkah untuk melaksanakan SQL di Navicat: Sambungkan ke pangkalan data. Buat tetingkap editor SQL. Tulis pertanyaan SQL atau skrip. Klik butang Run untuk melaksanakan pertanyaan atau skrip. Lihat hasilnya (jika pertanyaan dilaksanakan).

    Navicat menyambung ke kod ralat dan penyelesaian pangkalan data Navicat menyambung ke kod ralat dan penyelesaian pangkalan data Apr 08, 2025 pm 11:06 PM

    Kesilapan dan penyelesaian yang biasa apabila menyambung ke pangkalan data: Nama pengguna atau kata laluan (ralat 1045) Sambungan blok firewall (ralat 2003) Timeout sambungan (ralat 10060)

    See all articles