【问题标题】:Pagination with Swift Php and MySQL使用 Swift Php 和 MySQL 进行分页
【发布时间】:2019-07-18 22:50:36
【问题描述】:

我正在使用获取 5 的代码从我的服务器获取数据

SELECT Posts.id,
Posts.uuid,
    Posts.caption,
    Posts.path,
    Posts.date,
    USERS.id,
    USERS.username,
    USERS.fullname,
    USERS.email,
    USERS.profileImage
    FROM Blogger.Posts JOIN Blogger.USERS ON
    Posts.id = $id AND USERS.id = $id ORDER by date DESC
    Limit 5

现在我正在尝试添加分页...所以基本上我有一个加载更多按钮,当我点击它时,我希望能够加载下一个 5。

我还没有找到任何解决方案,因为我找到的所有教程都是针对网站的,我正在尝试为 IOS 应用程序做这件事..?

如果有人可以提供帮助或将我引向正确的方向,将不胜感激!

提前感谢您的宝贵时间!

【问题讨论】:

  • 到目前为止你尝试了什么?
  • @MikeSzyndel 下面的答案.. 它似乎工作,但如果你知道更好的方法,我会很乐意考虑你回答?

标签: php ios mysql pagination


【解决方案1】:

在您发送到服务器的每个请求中,您都应该包含有关您要加载哪个页面的信息。您的请求 URL 可能如下所示:

http://domainname.com/my_api_url.php?page=1

对于第 1 页等...

与使用 PHP 相比,您可以获得页面参数,例如:

$page = isset($_GET["page"]) ? (int) $_GET["page"] : 1;

您可以根据页面更新查询限制以返回不同的结果,例如:

$sql = '
SELECT Posts.id,
Posts.uuid,
    Posts.caption,
    Posts.path,
    Posts.date,
    USERS.id,
    USERS.username,
    USERS.fullname,
    USERS.email,
    USERS.profileImage
    FROM Blogger.Posts JOIN Blogger.USERS ON
    Posts.id = $id AND USERS.id = $id ORDER by date DESC
    LIMIT 5 OFFSET ' . ($page * 5);

【讨论】:

  • 很好,我已经做到了...我已将它添加到一个按钮,它似乎有点工作,但如果我在请求完成之前按下按钮超过 1 次重复帖子...?知道如何阻止吗?
  • 这是客户端问题,您应该在数据加载时禁用按钮。基本上,最初在 ios 应用程序中设置页面,单击按钮禁用它,发送请求,当您获取数据处理它时,增加页面并启用按钮。
  • 是的,我想象它会是这样的,但我想做的是当我滚动过去页面的某个部分时调用它......所以在滚动过去 3 个帖子后,我调用这个 loadmore 方法,但是你知道有什么方法可以禁用 loadmore 方法直到它完成吗?还是什么?!
  • 对不起,我不是 iOS 开发者,我不知道这些东西在 iOS 中是如何工作的。也许您可以为此在 stackoverflow 上打开新问题。
猜你喜欢
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 2017-03-21
  • 2011-04-25
  • 2015-05-16
  • 2011-10-09
  • 2014-04-11
相关资源
最近更新 更多