广告
返回顶部
首页 > 资讯 > 数据库 >Vue+ElementUI如何实现分页功能查询mysql数据
  • 702
分享到

Vue+ElementUI如何实现分页功能查询mysql数据

2023-06-22 05:06:41 702人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关Vue+ElementUI如何实现分页功能查询mysql数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.问题当数据库中数据比较多时,就要每次只查询一部分来缓解服务器和页面的压力。这

这篇文章给大家分享的是有关Vue+ElementUI如何实现分页功能查询mysql数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

    1.问题

    数据库中数据比较多时,就要每次只查询一部分来缓解服务器和页面的压力。这里使用elementui的 Pagination 分页 组件,配合Mysqllimit语句,实现分页查询mysql数据。

    下图是最基本的分页样式:

    Vue+ElementUI如何实现分页功能查询mysql数据

    当然需要引入对应的事件,来实现页面改变就查询数据库

    Vue+ElementUI如何实现分页功能查询mysql数据

    2.解决

    2.1分页组件

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

    data:初始化总数据条数(total)为1,pageNum也就是当前页数为第一页。

    Vue+ElementUI如何实现分页功能查询mysql数据

    2.2获取数据库数据的函数:getData():

    参数为offsetlimit,向后端请求数据,待会儿解释。这里使用了qs序列化参数。可以参考我的另一篇博客:Vue + ElementUI + Viewer翻页后图片无法预览 Vue父子组件异步通信问题 里面解释了qs的功能。

    getData(offset,limit){      this.axiOS.post('/PHP/select.php', qs.stringify({        offset: offset,        limit: limit,        type: '失物招领'      }), { headers: { 'Content-Type': 'application/x-www-fORM-urlencoded' } }).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)      })    }

    2.3页面加载完成,需要请求第一页的数据

    created () {    this.getData(0,8);  },

    页面改变触发handleCurrentChange()函数,即点击了翻页,其中val参数就是当前页数,使用新的参数,

    调用getData实现查询不同页面的数据:

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

    下面是后端数据:php + mysql

    现在数据表中总共有10条数据:

    Vue+ElementUI如何实现分页功能查询mysql数据

    前端getData请求的select.php文件

    select.php:

    <?php$servername = "localhost";$username = "用户名";$passWord = "密码";$dbname = "数据库名称";// 创建连接$conn = new mysqli($servername, $username, $password, $dbname);// Check connectionif ($conn->connect_error) {    die("连接失败: " . $conn->connect_error);} $type = $_POST['type'];//获取前端的参数 开始和结束numberif ( !isset( $_POST['offset'] ) ) { echo 0; exit();};$offset = ( int )$_POST['offset'];if ( !isset( $_POST['limit'] ) ) { echo 0; exit();};$limit = ( int )$_POST['limit'];//分页查询数据库$sql = "SELECT * FROM posts where type='$type'  order by id desc LIMIT $limit OFFSET $offset";$result = $conn->query($sql);$sqlGetCount = "SELECT COUNT(*) cnt FROM posts where type='$type'";$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('data'=>$arr),array('total'=>(int)$rescnt['cnt']))); } else {    echo 0;}mysqli_close( $conn );?>

    这里使用了mysqllimit实现一次只查询一部分数据,前端传来了参数offsetlimit

    sql语句:

    "SELECT * FROM posts where type='$type'  order by id desc LIMIT $limit OFFSET $offset"

    3.分析

    这里的 LIMIT $limit OFFSET $offset的意思就是从 $offest的值开始,查询 $limit条数据。

    例如 $limit = 8, $offest = 0:表示查询数据库的前8条数据,从0开始(不包含0,mysql索引从0开始),查询8条,也就是1~8条数据。
    当我点击第二页时:触发handleCurrentChange()函数:

    Vue+ElementUI如何实现分页功能查询mysql数据

    此时参数val=2,则offest = 8, limit = 8
    就会查询第9~17条数据,如果没有17条数据,也会返回查询到9条后的所有数据。例如目前我数据库就10条数据,那么返回第9条和第10条两条数据。

    同时select.php中页返回了总数据条数total:

    SELECT COUNT(*) cnt FROM posts where type='$type'

    Vue+ElementUI如何实现分页功能查询mysql数据

    前端页面获取到total值后赋值给this.total(绑定了Pagination的total属性,也就是总数据条数)。Pagination根据:page-size="8"属性就会将数据自动分页。例如后端返回的total为10,则分成两页。

    Vue+ElementUI如何实现分页功能查询mysql数据

    4.结果

    页面加载完成:因为我是根据id逆序查询,所以获取了第3~10条(共8条)数据。

    Vue+ElementUI如何实现分页功能查询mysql数据

    点击第二页或者翻页按钮:获取第1、2条数据。

    Vue+ElementUI如何实现分页功能查询mysql数据

    注意:你的limit参数一定要和Paginationpage-size属性一致,也就时一次查询一页数据。而offset就是当前的页数。

    感谢各位的阅读!关于“Vue+ElementUI如何实现分页功能查询mysql数据”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

    您可能感兴趣的文档:

    --结束END--

    本文标题: Vue+ElementUI如何实现分页功能查询mysql数据

    本文链接: https://www.lsjlt.com/news/302572.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Vue+ElementUI如何实现分页功能查询mysql数据
      这篇文章给大家分享的是有关Vue+ElementUI如何实现分页功能查询mysql数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.问题当数据库中数据比较多时,就要每次只查询一部分来缓解服务器和页面的压力。这...
      99+
      2023-06-22
    • Vue+ElementUI 实现分页功能-mysql数据
      目录1.问题2.解决2.1分页组件2.2获取数据库数据的函数:getData():2.3页面加载完成,需要请求第一页的数据3.分析4.结果1.问题 当数据库中数据比较多时,就要每次只...
      99+
      2022-11-12
    • mysql实现分页查询功能的方法
      小编给大家分享一下mysql实现分页查询功能的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql分页查询的方法:1、用具体字段代替【*】;2、先查寻索引;3、使用【between …...
      99+
      2022-10-18
    • ajax如何实现分页查询功能
      小编给大家分享一下ajax如何实现分页查询功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ajax分页查询功能的具体代码,具体内容如下显示的效果如下:实现效果的...
      99+
      2023-06-08
    • Java如何实现分页查询功能
      在Java中,可以使用分页查询功能来实现对数据库中的数据进行分页显示。下面是一个简单的示例代码:```java// 定义每页显示的记录数int pageSize = 10;// 定义当前页码int currentPage = 1;// ...
      99+
      2023-08-11
      Java
    • kkpager如何实现ajax分页查询功能
      这篇文章主要介绍了kkpager如何实现ajax分页查询功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。先看下前台代码:@{  Layout ...
      99+
      2023-06-08
    • Vue分页查询如何实现
      这篇文章主要介绍“Vue分页查询如何实现”,在日常操作中,相信很多人在Vue分页查询如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue分页查询如何实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
      99+
      2023-07-06
    • mysql如何实现分页查询
      小编给大家分享一下mysql如何实现分页查询,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! mysq...
      99+
      2022-10-19
    • ajax如何实现数据分页查询
      小编给大家分享一下ajax如何实现数据分页查询,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下主页面代码<html xmlns="http://www.w3.org/1999/xhtml...
      99+
      2023-06-08
    • SpringBoot如何整合PageHelper实现分页查询功能
      这篇文章主要介绍了SpringBoot如何整合PageHelper实现分页查询功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用方法导入依赖在中央仓库sonatype中搜...
      99+
      2023-06-29
    • 如何使用mybatis-plus实现分页查询功能
      今天就跟大家聊聊有关使用mybatis-plus如何实现分页查询功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 引入依赖...
      99+
      2022-11-13
    • 使用MySQL如何实现分页查询
      目录一、分页1. 什么是分页2. 真分页3. 假分页4. 缓存层二、MySQL实现分页1. LIMIT用法2. 分页公式8种MySQL分页方法总结方法1: 直接使用数据库提供的SQL...
      99+
      2022-11-13
    • ssm框架+PageHelper插件如何实现分页查询功能
      这篇文章主要介绍了ssm框架+PageHelper插件如何实现分页查询功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。通过搭建ssm框架,然后通过mybatis的分页插件p...
      99+
      2023-06-15
    • 如何用jsp+mysql实现网页的分页查询
      本篇内容介绍了“如何用jsp+mysql实现网页的分页查询”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、实现分页查询的核心sql语句(1...
      99+
      2023-06-29
    • vue iview如何实现分页功能
      本篇内容介绍了“vue iview如何实现分页功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!子组件<template&g...
      99+
      2023-07-02
    • Mysql 如何实现多张无关联表查询数据并分页
      Mysql 多张无关联表查询数据并分页 功能需求 在三张没有主外键关联的表中取出自己想要的数据,并且分页。 数据库表结构 水果表: 坚果表:   饮料表: 数据库随便建的,重在方法。 主要使用UNIO&...
      99+
      2022-06-01
      Mysql 多表查询数据 数据分页
    • AJAX +SpringMVC如何实现bootstrap模态框的分页查询功能
      小编给大家分享一下AJAX +SpringMVC如何实现bootstrap模态框的分页查询功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一 、效果图二、JSfunction getManagerList(de...
      99+
      2023-06-08
    • 如何使用MySQL和Ruby实现一个简单的数据查询分析功能
      要使用MySQL和Ruby实现一个简单的数据查询分析功能,首先需要确保已经安装了MySQL数据库和Ruby编程语言。下面是一个简单的...
      99+
      2023-10-10
      MySQL
    • MySQL百万级数据大分页查询优化的实现
      目录一、MySQL分页起点越大查询速度越慢二、 limit大分页问题的性能优化方法(1)利用表的覆盖索引来加速分页查询(2)用上次分页的最大id优化三、MySQL百万数据快速生成3....
      99+
      2022-11-12
    • thinkphp5如何实现查询计数功能
      这篇“thinkphp5如何实现查询计数功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“thinkphp5如何实现查询计数...
      99+
      2023-07-05
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作