You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Vuejs和Axios获取MySQL表行数并按000.000.000格式显示

代码修改方案

一、后端PHP代码修改

原有逻辑已实现总条数查询,只需优化返回结构、增加必要的响应头即可:

<?php
include "config.php";

// 增加响应头,避免跨域问题、指定返回格式为JSON
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');

$data = json_decode(file_get_contents("php://input"));
$request = $data->request ?? 0;

// 获取所有记录
if($request == 1){
  // 给统计结果加别名,方便前端取值
  $userNumbers = mysqli_query($connect,"SELECT COUNT(*) as total FROM users");
  $row = mysqli_fetch_assoc($userNumbers);
  // 直接返回总条数,无需嵌套数组
  echo json_encode(['total' => $row['total']]);
  exit;
}

二、前端Vue代码修改

需要调整请求方式、参数传递逻辑,增加总条数格式化规则,绑定到页面展示:

<!-- 页面展示位置示例 -->
<div id="myapp">
  <!-- 格式化后的总条数渲染 -->
  <span class="count-display">{{ formatUserCount }}</span>
</div>

<script type = "text/javascript">
var app = new Vue({
  el: '#myapp',
  data: {
    // 存储原始总条数值
    userTotal: 0
  },
  computed: {
    // 格式化计算属性,自动适配格式要求
    formatUserCount() {
      // 数字转字符串后补前导0到9位,每3位插入一个点
      const totalStr = this.userTotal.toString().padStart(9, '0');
      return totalStr.match(/\d{3}/g).join('.');
    }
  },
  methods: {
    allUsersNumber(){
      // 改为POST请求匹配后端读取请求体的逻辑,参数按要求传递
      axios.post('api/app.php', {
        request: 1
      }).then(response => {
        // 把返回的总条数存入data
        this.userTotal = response.data.total;
      });
    }
  },
  created: function(){
    this.allUsersNumber();
  }
})
</script>

核心修改说明

  • 前后端请求方式统一为POST,解决原有GET请求参数无法被后端读取的问题
  • 格式化逻辑完全匹配需求:不足9位的数字自动补前导0,每3位用点分隔,959会自动转换为000.000.959格式
  • 新增跨域响应头,避免本地开发时的跨域拦截问题

内容的提问来源于stack exchange,提问作者user9686232

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:24:02