Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP untuk melaksanakan pemuatan data paging dalam program mini WeChat

Cara menggunakan PHP untuk melaksanakan pemuatan data paging dalam program mini WeChat

PHPz
PHPzasal
2023-06-03 16:00:051240semak imbas

Dengan populariti program mini WeChat, semakin ramai pembangun mula terlibat. Salah satu keperluan biasa ialah pemuatan data penomboran.

Apabila melaksanakan pemuatan data paging dalam applet WeChat, kami boleh menggunakan PHP sebagai bahasa back-end, menggunakan pangkalan data MySQL untuk menyimpan data dan menggunakan antara muka yang disediakan oleh applet WeChat untuk mencapai pemerolehan dan paparan data .

Berikut akan memperkenalkan secara terperinci cara menggunakan PHP untuk melaksanakan pemuatan data paging bagi program mini WeChat.

  1. Persediaan

Sebelum kita mula menulis kod, kita perlu menyediakan alatan dan bahan berikut:

  • Alat Pembangunan Program Mini WeChat , digunakan untuk mencipta projek program kecil dan melaksanakan reka bentuk halaman dan operasi lain.
  • Persekitaran pembangunan PHP boleh dibina menggunakan persekitaran bersepadu seperti XAMPP atau pada sistem Linux.
  • Pangkalan data MySQL dan buat jadual data yang sepadan di dalamnya.
  1. Buat jadual data

Buat jadual data dalam pangkalan data MySQL untuk menyimpan data yang perlu dipaparkan dalam halaman. Struktur jadual data hendaklah termasuk medan data yang perlu dipaparkan, serta beberapa medan tambahan untuk operasi halaman.

Sebagai contoh, jika kita ingin memaparkan senarai produk, struktur jadual data mungkin seperti berikut:

CREATE TABLE `goods` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `description` text NOT NULL,
  `image` varchar(255) NOT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Dalam jadual data di atas, medan id ialah kunci utama yang meningkat secara automatik, dan name menyimpan Nama produk, price menyimpan harga produk, description menyimpan penerangan produk, image menyimpan alamat imej produk, created_at dan updated_at digunakan untuk merekodkan masa penciptaan dan masa kemas kini data masing-masing.

  1. Tulis kod PHP

Seterusnya, kita perlu menulis kod PHP untuk mengendalikan permintaan data applet WeChat dan mengembalikan data dalam halaman.

Dalam kod PHP, kita perlu melakukan pengesahan parameter terlebih dahulu untuk mendapatkan parameter yang diluluskan oleh bahagian hadapan program mini. Secara umumnya, applet perlu melepasi dua parameter: nombor halaman semasa dan bilangan rekod yang dipaparkan pada setiap halaman.

<?php
if (!isset($_GET['page'])) {
    die('参数错误:缺少page参数');
}
if (!isset($_GET['pagesize'])) {
    die('参数错误:缺少pagesize参数');
}

$page = max(intval($_GET['page']), 1);
$pageSize = intval($_GET['pagesize']);

Dalam kod di atas, kami menggunakan fungsi intval() untuk menukar parameter jenis rentetan kepada jenis integer dan menggunakan fungsi max() untuk memastikan nombor halaman tidak akan kurang daripada 1. Jika parameter tiada atau dalam format yang salah, program akan mengembalikan mesej ralat dan menamatkan pelaksanaan.

Seterusnya, kita perlu menggunakan pernyataan pertanyaan pangkalan data MySQL untuk mendapatkan data, dan melakukan pemprosesan halaman mengikut nombor halaman dan bilangan rekod yang dipaparkan pada setiap halaman.

$offset = ($page - 1) * $pageSize;
$sql = 'SELECT * FROM goods ORDER BY created_at DESC LIMIT ' . $offset . ',' . $pageSize;
$result = $pdo->query($sql);
$goods = $result->fetchAll(PDO::FETCH_ASSOC);

Dalam kod di atas, kami menggunakan kata kunci LIMIT untuk mengehadkan bilangan hasil pertanyaan yang dikembalikan, dengan pembolehubah $offset mewakili kedudukan permulaan halaman semasa dan $pageSize mewakili nombor daripada rekod yang dipaparkan pada setiap halaman.

Seterusnya, kita perlu menukar hasil pertanyaan ke dalam format JSON dan mengembalikannya ke bahagian hadapan program mini.

header('Content-Type: application/json');
die(json_encode([
    'errno' => 0,
    'errmsg' => '',
    'data' => [
        'list' => $goods,
        'page' => $page,
        'pagesize' => $pageSize,
        'total' => $total,
    ],
]));

Dalam kod di atas, kami menggunakan fungsi json_encode() untuk menukar data ke dalam format JSON dan menetapkan Jenis Kandungan pengepala respons melalui fungsi header() untuk memastikan program mini di hadapan -end boleh menghuraikan data yang dikembalikan seperti biasa.

  1. Kod bahagian hadapan program mini

Akhir sekali, kita perlu memanggil antara muka PHP dalam kod bahagian hadapan program mini untuk mendapatkan data halaman. Secara umumnya, kita boleh menggunakan fungsi wx.request() untuk memulakan permintaan rangkaian dan menjadikan data yang diperolehi ke dalam halaman.

Page({
  data: {
    goodsList: [],
    page: 1,
    pagesize: 10,
    total: 0,
  },
  onLoad: function () {
    this.loadGoodsList();
  },
  loadGoodsList: function () {
    wx.showLoading({
      title: '加载中',
    });
    wx.request({
      url: 'http://your.site.com/api/goods.php',
      data: {
        page: this.data.page,
        pagesize: this.data.pagesize,
      },
      success: (res) => {
        wx.hideLoading();
        const list = res.data.data.list || [];
        const page = res.data.data.page || 1;
        const pagesize = res.data.data.pagesize || 10;
        const total = res.data.data.total || 0;
        this.setData({
          goodsList: [...this.data.goodsList, ...list],
          page,
          pagesize,
          total,
        });
      },
      fail: (res) => {
        wx.hideLoading();
        wx.showToast({
          title: res.errmsg || '请求失败',
          icon: 'none',
        });
      },
    });
  },
  loadMoreGoods: function () {
    if (this.data.goodsList.length >= this.data.total) {
      return;
    }
    this.setData({
      page: this.data.page + 1,
    });
    this.loadGoodsList();
  },
});

Dalam kod di atas, kami mentakrifkan fungsi loadMoreGoods() untuk memuatkan lebih banyak data. Dalam fungsi ini, kami menentukan sama ada kami perlu meneruskan memuatkan lebih banyak data dengan membandingkan bilangan rekod yang dipaparkan dalam senarai semasa dengan jumlah bilangan rekod.

Apabila pengguna menarik senarai, kami memanggil fungsi loadMoreGoods() untuk mendapatkan data pada halaman seterusnya Selepas menyambung data yang baru diperolehi dengan data yang telah dipaparkan, kami mengemas kini data halaman.

  1. Ringkasan

Melalui langkah di atas, kami berjaya melaksanakan fungsi memuatkan data paging applet WeChat menggunakan PHP. Melalui pengenalan kod dan prinsip di atas, anda kini sepatutnya telah menguasai kaedah melaksanakan pemuatan halaman.

Sudah tentu, ini hanyalah penggunaan paling asas Dalam pembangunan sebenar, kita juga perlu memberi perhatian kepada beberapa butiran, seperti pengoptimuman caching data, pemaparan halaman, dll. Saya harap kandungan di atas dapat memberikan sedikit bantuan untuk pembangunan applet WeChat anda.

Atas ialah kandungan terperinci Cara menggunakan PHP untuk melaksanakan pemuatan data paging dalam program mini WeChat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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