首页 > 文章列表 > 如何通过PHP和UniApp实现数据的分页功能

如何通过PHP和UniApp实现数据的分页功能

php uniapp 数据分页
284 2023-07-07

如何通过PHP和UniApp实现数据的分页功能

简介:
在开发基于UniApp的移动应用时,经常需要从服务器获取大量的数据,并在App中进行展示。为了提高用户体验和应用性能,我们经常需要将数据进行分页展示。本文将介绍如何使用PHP和UniApp来实现数据的分页功能,并附带代码示例。

一、PHP部分:

  1. 创建数据库表和数据
    首先我们需要在数据库中创建一个表,用于存储要展示的数据。例如我们创建了一个名为“user”的表,包含字段有id、username和age。

CREATE TABLE user (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(255) NOT NULL,
age int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

然后插入一些测试数据:

INSERT INTO user (id, username, age) VALUES
(1, '张三', 18),
(2, '李四', 20),
(3, '王五', 25),
(4, '赵六', 30),
(5, '钱七', 35),
(6, '孙八', 40),
(7, '周九', 45),
(8, '吴十', 50);

  1. 编写PHP接口
    接下来我们需要编写PHP接口,用于从数据库中获取特定页码的数据。

<?php
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');

// 连接数据库
$mysqli = new mysqli("localhost", "username", "password", "database");

// 检查连接是否成功
if ($mysqli->connect_errno) {

echo "Failed to connect to MySQL: " . $mysqli->connect_error;
exit();

}

// 获取当前页码
$page = isset($_GET['page']) ? $_GET['page'] : 1;

// 每页显示的数据条数
$perPage = 3;

// 计算起始偏移量
$offset = ($page - 1) * $perPage;

// 查询数据
$result = $mysqli->query("SELECT * FROM user LIMIT $offset, $perPage");

// 将数据以JSON格式返回给前端
$data = array();
while ($row = $result->fetch_assoc()) {

$data[] = $row;

}
echo json_encode($data);

// 关闭数据库连接
$mysqli->close();
?>

二、UniApp部分:

  1. 编写Vue组件
    在UniApp中,我们需要编写一个Vue组件来发起HTTP请求,并将获取到的数据进行展示。

<template>
<view>

<view v-for="user in userList" :key="user.id">
  <text>{{ user.username }}</text>
  <text>{{ user.age }}</text>
</view>
<button @click="loadMore">加载更多</button>

</view>
</template>

<script>
export default {
data() {

return {
  userList: [],  // 存储用户列表数据
  page: 1  // 当前页码
};

},
mounted() {

this.loadData();

},
methods: {

loadData() {
  uni.request({
    url: 'http://your-php-server/api/getData.php',
    data: {
      page: this.page
    },
    success: (res) => {
      if (res.statusCode === 200) {
        this.userList = this.userList.concat(res.data);
      }
    }
  });
},
loadMore() {
  this.page++;
  this.loadData();
}

}
};
</script>

  1. 配置请求域名
    在UniApp工程中,需要配置合法的请求域名。在manifest.json文件中加入以下代码,替换成你自己的PHP服务器地址。

"networkTimeout": {
"request": 60000,
"downloadFile": 60000,
"uploadFile": 60000,
"websocket": 60000
},
"uni.request": {
"protocol": "https",
"domain": "your-php-server"
}

以上便是使用PHP和UniApp来实现数据的分页功能的步骤和代码示例。通过PHP接口从数据库中获取指定页码的数据,并在UniApp中将数据展示出来。用户点击“加载更多”按钮时,将发送对应的页码,并加载下一页的数据。这样就实现了数据的分页功能,提升了用户体验和应用性能。