PHP+Bootstrap+原生Ajax+MySQL实现前后端交互(下)——实现分页效果

使用bootstrap实现分页(没使用插件)分页带省略号 效果图如下: 我是后端使用的PHP,并且在JSON数据方面没有采取用对象的方式,而是简单采取特殊符号分割成一个二维数组,从而读取值。 主要思想:前台用Ajax拉取出总页数,分类讨论当前面在第一个、最后两个以及中间的情况,动态绘制分页栏,在后台数据库使用limit限定查询当前页码对应页面的数据量,而不用一次拉取出全部数据。 <!DOCTYPE html> <html la... 阅读详情

思路

通过总数据的条数/每一页显示的条数,并向上取整,就可以得到页码数,并动态添加到ul中。

动态创建页码

//每一页显示的信息数
     this.num=2;
      //当前页面的索引
      this.index=0;
      //找到容器ul
      this.oul=document.querySelector(".pagination");
 //动态生成页码
  createPage(){
  //用来计算创建的最大页码数
       this.maxNum=Math.ceil(this.res.length/this.num);
       //console.log(this.maxNum);
       // 上一页按钮
       var str1=` <li class="page-item">
                       <a href="javascript:;" class="page-link" aria-label="Previous">
                           <span aria-hidden="true">&laquo;</span>
                       </a>
                   </li>`;
         //通过循环动态生成页码
       for(var i=0;i<this.maxNum;i++){
       //为li添加页码数字
           str1 += `<li class="page-item"><a class="page-link" href="javascript:;">${i+1}</a></li>`;
       }
       this.oul.innerHTML=str1;
       //下一页按钮
       this.oul.innerHTML=str1+` <li class="page-item">
            <a href="javascript:;" aria-label="Next" class="page-link">
                 <span aria-hidden="true">&raquo;</span>
             </a>
        </li>`;
        //遍历所有的li,将他们的默认样式去除
       for(var j=1;j<this.oul.children.length-1;j++){
           this.oul.children[j].className="page-item";
       }
       //默认给第二个li添加默认选中的样式(也就是第一个有数字的li)
       this.oul.children[this.index+1].className="page-item active";
       this.display();
   }

切换功能

通过点击页码按钮或者上一页和下一页按钮,可以实现数据的切换

 clickEvent(){
   var that=this;
   //为第二个到倒数第二个的li添加点击事件,实现对应数据的切换
      $(".pagination li:lt("+(this.maxNum+1)+"):gt(0)").click(function () {
          //console.log(33)
          that.index=$(this).index()-1;
          //console.log(that.index)
          $(this).addClass("page-item active").siblings().removeClass("page-item active");
          that.display();
      });
      //上一页按钮的切换功能
      $(".pagination li").eq(0).click(function () {
          //console.log(444);
          //console.log(that.index)
          if(that.index==0){
          //如果到达第一页,当上一页按钮禁用
              $(this).addClass("page-item disabled");
          }else{
              that.index--;
              $(".pagination li").eq(that.index+1).addClass("page-item active").siblings().removeClass("page-item active");
          }
          that.display();
      });
      //下一页按钮的切换功能
      $(".pagination").children("li:last-child").click(function () {
          //console.log(that.index)
          if(that.index==that.maxNum-1){
          //如果到达最后一页,将下一页按钮禁用
              $(this).addClass("page-item disabled");
          }else{
              that.index++;
              $(".pagination li").eq(that.index+1).addClass("page-item active").siblings().removeClass("page-item active");
              //console.log(that.index)
          }
          that.display();
      })
  }

分页效果的核心

 display(){
      var str="";
       for(var i=this.num * (this.index);i<this.num * (this.index+1);i++){
           if(i<this.res.length){
               str+=`<tr class="text-center">
                   <td>${this.res[i].Id}</td>
                   <td>${this.res[i].name}</td>
                   <td>${this.res[i].sex}</td>
                   <td>${this.res[i].age}</td>
                   <td>${this.res[i].chinese}</td>
                   <td>${this.res[i].math}</td>
                   <td>${this.res[i].English}</td>
                   <td>
                   <!--给删除按钮添加一个自定义的属性index,用来记录点击的删除按钮的这条记录的id-->
                       <button class="btn btn-danger" del="delete" index="${this.res[i].Id}">删除</button>
                       <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@fat" hf="update" index="${this.res[i].Id}">修改</button>
                   </td>
               </tr>`;
           }
       }
       this.tbody.innerHTML=str;
   }
}

实现效果

在这里插入图片描述

ECharts, PHP, MySQL, Ajax, JQuery 实现前后端数据可视化 ECharts 下载js代码 工作原理浅析 在项目中引入ECharts 后台处理 数据库端MySQL PHP端 JQuery Ajax处理 ECharts 端处理 前端全部代码 演示结果 总结最近要将后台数据库上的一些数据以可视化的方法显示到前端,找来找去,发现百度开发的这套图表工具库还不错,网上搜索了一下相关的教程,也算是实现了较为简单的demo。于是写下来,记录一下。EChartsEChart 阅读详情

相关推荐

基层医疗预约系统:原生PHP轻量MVP实战指南

医疗预约系统是Web开发中典型的业务闭环案例,涉及数据库设计、表单交互、状态管理与前后端协同。其核心原理在于通过科室-医生-时段三级关联建模,结合动态号源计算(非预生成时段)实现高并发下的预约控制。技术价值体现在极低部署门槛与强可维护性,特别适合无专职IT团队的社区卫生站、乡镇诊所等场景。本文以一个零框架、纯原生PHP+MySQL构建的最小可行系统为载体,深入解析从ER建模、AJAX时序控制到Excel导出与Webhook集成的完整工程链路,覆盖‘挂号’‘排班’‘停诊’三大高频业务热词。

weixin_32349561的博客 164

PHP学习-前后端交互处理

前后端的交互过程就是HTTP协议的处理过程: 请求与相应的处理过程。单纯只有前端,无法使用后台服务器的能力,或者无法访问数据库。如果单纯只有后端,也无法形成业务流程,无法为客户产生价值。三种方式(1)资源获取型:GET请求 + URL地址(2)数据提交型:POST请求 + URL地址 + 请求正文(3)AJAX提交:利用异步提交的方式,再不刷新页面的情况下,提交数据给后台。

fjc0214的博客 3621

php+mysql学生成绩管理系统.zip

学生成绩管理系统,分三个模块:学生,教师和管理员。 管理员模块:负责学生、老师信息的增删改;发布课程信息的增删改,以便让学生选课;审核老师提交的学生成绩并且打印成绩存档;按照课号查询每个课号的学生成绩统计,同时也可以按学号查看学生的成绩情况,方便做教学总结。 教师模块:修改自己的信息;查看自己所教的课程及选择该课程的学生并且给该课号的学生录入平时成绩,考试成绩,系统可以按照该课程的比例自动算出总分,提交给管理员,等待审核;查询课号的成绩情况。 学生模块:修改自己的信息;根据学年选课、退课,查询选课信息;查询已取得学分,查询课程成绩以及学分绩,打印自己各门课成绩的统计报表。

PHP+Bootstrap+原生Ajax+MySQL实现前后端交互(中)

前后端交互项目修改功能思路修改功能的js代码修改功能的PHP代码实现效果删除功能思路实现删除功能的js代码实现删除功能的PHP代码实现效果 在上个文章中介绍了如何使用bootstrap进行布局,使用PHP操作数据库,通过ajax实现数据的查询和添加功能,在这篇文章中,继续实现ajax交互项目的修改和删除操作。 修改功能 思路 通过点击页面上的修改按钮,将会弹出模态框,并将这一行的信息对应显示在模态...

HJay_Chou的博客 1821

php+mysql+bootstrap+jquery实现增删查改的前后端

PHP+MYSQL入门学习并实现后端增删改查,bootstrap实现后端页面;前端有ajax请求json格式数据,jquery动态创建元素等

php+mysql学生成绩管理系统

学生成绩管理系统,分三个模块:学生,教师和管理员。 管理员模块:负责学生、老师信息的增删改;发布课程信息的增删改,以便让学生选课;审核老师提交的学生成绩并且打印成绩存档;按照课号查询每个课号的学生成绩统计,同时也可以按学号查看学生的成绩情况,方便做教学总结。 教师模块:修改自己的信息;查看自己所教的课程及选择该课程的学生并且给该课号的学生录入平时成绩,考试成绩,系统可以按照该课程的比例自动算出总分,提交给管理员,等待审核;查询课号的成绩情况。 学生模块:修改自己的信息;根据学年选课、退课,查询选课信息;查询已取得学分,查询课程成绩以及学分绩,打印自己各门课成绩的统计报表。 项目中含有大量图片,下载项目的时间可能会比较久。 下载项目后,新建数据库bookstore,然后导入bookstore.sql即可。 导入项目后,在resource文件夹下修改db.properties 将数据库账号和密码修改成自己MYSQL数据库的账号密码即可。 技术总结: 前端:html css js jQuery bootstrap 后台: 控制器:springMVC Dependence Injection:spring ORM:mybatis 数据库:mysql 首页地址 http://localhost:8080/index.do 后台管理地址 http://localhost:8080/backLoginPage.do

用ajax +bootstrap实现前后端交互之 注册,登录,查询数据,修改和删除数据(css自行下载)

1.1 注册页面 register.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>注册</title> <link rel="stylesheet" href="../css/bootstrap.min.css"> <style> #register{width: 400px; marg

OrdnAry的博客 3402

基于PHP和MySQL数据库实现的学生成绩管理系统.7z_成绩管理系统_

php大作业 php+mysql成绩管理系统,基于PHP和MySQL数据库实现的学生成绩管理系统

php ajax可编辑表格,jquerAjax+php实现表格的增删改查(带数据库)

今天给各位小伙伴,带来个表格的增删改查案例.我采用了bootstrap进行表格的布局,不得不说,bootstrap这个东西的确是好用。HTML结构这是table编号用户名称学校年龄qq工作操作×编号:Modal titleClose初始数据加载refresh()function refresh(){$.ajax({url:"action/tableController.php",type:"ge...

weixin_42527178的博客 410

bootstrapTable+ajax加载数据 refresh更新数据

主要为大家详细介绍了bootstrapTable+ajax加载数据,以及refresh更新数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

php 接口与前端数据交互实现示例代码

本篇文章主要介绍了php 接口与前端数据交互实现示例代码,主要使用的是php+bootstrap-table+js,具有一定的参考价值,有兴趣的可以了解一下

php+mysql+bootstrap 实现成绩管理系统

简介: 这是一个可以增删改查的成绩管理系统的ajax交互练习案例 主要技术:php mysql bootstrapUI库 ajax 效果如下: 布局: 布局使用bootstrapUI库搭建 需引入bootstrap.css外部样式 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstr...

1769

操作系统笔记【全-408统考】【附思维导图】

操作系统 思维导图 概述 操作系统的概念 管理计算机软件和硬件资源 最基本的系统软件 特征 并发 区分并发并行 共享 互斥共享方式 同时访问方式 虚拟 逻辑上多个。虚拟处理器的分时,空分复用的虚拟存储器 采用多道程序设计 异步 由于资源有限,进程走走停停 可能会导致进程产生与时间有关的错误。访问顺序 目的和功能 1.管理计算机资源 功能 处理机管理、存储器管理、文件管理、设备管理 目标:安全、有效 2.作为用户与计算机硬件系统

wvdon 2364

js+php+mysql实现的学生成绩管理系统

js+php的简单学生管理系统,自己建个students的数据库 实现的效果如下图所示: 注册 登录 系统主页 新增页面 修改页面 注册页面--register.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> ......

Cupid 5383

数字IC后端时钟树综合实战:OCC电路优化与时钟树平衡策略

本文深入探讨了数字IC后端设计中时钟树综合的关键挑战,重点分析了OCC电路时钟树优化的必要性。通过实战案例,详细阐述了如何通过手动干预、时钟分组与分段长树等策略,避免工具自动平衡导致的时序违例和资源浪费,从而有效实现时钟树平衡并提升设计质量。

weixin_29306261的博客 326

利用ANSYS随机振动分析功能实现随机疲劳分析

本文介绍了ANSYS随机振动分析功能,以及利用该功能,按照Steinberg提出的基于高斯分布和Miner线性累计损伤定律的三区间法进行ANSYS随机疲劳计算的具体过程。在工程应用中,汽车、飞行器、船舶以及其它各种机械或零部件,大多是在随机载荷作用下工作,当它们承受的应力水平较高,工作达到一定时间后,经常会突然发生随机疲劳破坏,往往造成灾难性的后果。因此,预测结构或零部件的随机疲劳寿命是非常有必要的。在工程界,疲劳计算广泛采用名义应力法,即以S-N曲线为依据进行寿命估算的方法,可以直接得到总寿命。

qq_38220914的博客 7608

php加载mysql_php原生上拉加载,点击加载更多(jQuery,ajax,mysql)

设计目的一个网站的数据非常多的时候,需要分页,方便浏览,为了方便翻页,那么我们摒弃传统的点击翻页,直接往下拉,不停地自动加载数据,这样就可以方便阅读。设计原理通过ajax向后端接口发起翻页请求,发送页码,后端接收页码,返回json数据,前端jquery解析json并且拼接在原有的数据基础上!代码index.htmljquery+ajax上拉加载更多*{margin:0;padding: 0;}#t...

weixin_30516429的博客 275

第6篇:ESP32连接无源喇叭播放音乐《涛声依旧》

相邻两个音之间的倍数是2^(1/12),约等于1.0594630943592952645618252949463)。这样一来,高八度的do频率是低八度do的两倍。我们把频率440赫兹作为中央C ,C调的歌就是把频率440赫兹当作do,乐谱中写作:1=C。一个八度分成12份,八个八度的十二平均音率对应的频率如下(从33Hz到7902Hz)。相邻的两个音之间的差一个半音,12345671之间的间隔分别是“全全半全全全半”。D调的歌就是把从440后面第二个音494赫兹当作do,乐谱中写作1=D。

Txwtech 1424

php mysql 模糊查询_jq.ajax+php+mysql实现关键字模糊查询(示例讲解)

对于这个功能企业上还算比较实用,推荐给大家;index.html*{margin:0;padding:0;}.text{width:200px;height:30px;line-height:30px;font-size:14px;outline:none;}ul{width:200px;height:auto;border:1px solid #999;border-top:none;}ul l...

weixin_31921223的博客 217

在 ABAP 环境中构建自定义健康监控指标:面向 SAP Cloud ALM 与 SAP Focused Run 的完整实践

本文介绍了在ABAP环境中开发自定义健康监控指标的方法。主要内容包括:1)标准监控指标的不足,如无法反映业务应用层面的问题;2)自定义监控架构,通过metric provider定义指标,由采集作业周期性获取数据并存储;3)核心实现技术,包括IF_GSM_API_PROVIDER接口和三个关键方法;4)指标从ABAP推送到SAP Cloud ALM/Focused Run的完整流程;5)开发实践步骤,从业务分析到具体实现。该方案可帮助团队监控业务关键指标,提升系统运维能力。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 262

RepHead一种重参数化检测头用于提升YOLOv8在困难样本上的检测性能

在目标检测任务中,困难样本通常是指那些由于特殊背景、遮挡、低分辨率或极度小物体等因素,导致模型难以识别的样本。这类样本对传统YOLO系列模型的影响较大,常常造成漏检或误检。重参数化(Reparameterization)是一种深度学习中常用的技术,旨在通过对网络参数的变换,使得模型在训练过程中能够更加灵活地适应不同的数据特征。通过对原始网络结构的参数进行重新表达,能够引导模型在训练过程中学习到更加有效的特征。本文详细介绍了YOLOv8的改进——RepHead检测头,并深入分析了它在解决困难样本检测中的应用。

博客 1209

bootstrap+jquery+ajax跨域实现一个聊天机器人

bootstrap+jquery+ajax跨域实现一个聊天机器人

冷月心的博客 2343

微信小程序 - 解决微信支付报错 requestPayment:fail no permission 原因分析及排查处理(支付失败出错,无法唤起支付弹框面板,微信支付API报错请求付款:失败无权限)

微信小程序,微信支付,支付报错,errMsg: "requestPayment:fail no permission",支付失败,支付权限没问题,微信小程序支付报错,检查了appid正确依旧不行,微信小程序支付异常,苹果ios手机,安卓手机,开发者工具模拟器,最新解决教程,小程序wx.requestPayment报错/无响应,小程序支付 requestPaym,微信小程序认证,真机运行,小程序微信支付提示错误,微信小程序里使用微信支付错误提示,微信小程序支付异常,微信支付弹框拉不起来,小程序支付api,都检

🏆 前端领域优质创作者 1万+

(附源码)基于PHP在线考试系统的设计与实现-毕业设计 课程设计 032028

学生:登录、考试查询、在线考试、试卷提交、成绩查询、资料管理; 教师:资料管理、题库管理试卷管理、成绩管理; 管理员:系统用户管理、成绩管理、题库管理、试卷管理、系统管理;

Q_3461074420的博客 4062

(4-2)A*

实际已经花费的代价(g(n)):从起点到当前节点n的实际路径代价。启发式估计的剩余代价(h(n)):从当前节点n到目标节点的估计路径代价。这是A算法的关键之一,启发式函数要足够接近实际代价,但又要高效计算。如果启发式函数等于0,A算法就相当于Dijkstra算法。实现A*算法的核心步骤如下所示。(1)初始化:将起点加入开放列表(open list),并将其f值设为g值和h值的和。(2)循环:从开放列表中选择具有最小f值的节点作为当前节点。如果当前节点是目标节点,算法结束;

码农三叔 1807

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

php mysql grid_基于PHP和Mysql相结合使用jqGrid读取数据并显示

jqGrid可以动态读取和加载外部数据,本文将结合PHP和Mysql给大家讲解如何使用jqGrid读取数据并显示,以及可以通过输入关键字查询数据的ajax交互过程。下面给大家展示效果图,喜欢的朋友可以阅读全文哦。jqGrid本身带有search和edit表格模块,但是这些模块会使得整个插件体积显得有点庞大,而且笔者认为jqGrid的搜索查询和编辑/添加功能不好用,所以笔者放弃jqGrid自有的se...

weixin_29251131的博客 131

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: PHP+Bootstrap+原生Ajax+MySQL实现前后端交互(中)
下一篇: 跨域之JSONP
伦为JAY下囚
博客等级 码龄7年 52粉丝 19原创
评论 37
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值