gpt4 book ai didi

PHP + MySql 带类别且无偏移的分页

转载 作者:行者123 更新时间:2023-11-30 23:03:37 26 4
gpt4 key购买 nike

我正在与在线市场网站合作,用户可以在其中销售自己的东西,访问者可以按类别浏览市场。

我一直在阅读有关 mysql 分页的文章,如果您使用 limit 和 offset,如果它的数据库很大,它将占用大量资源并且需要很长时间才能执行。

因此,我不想使用“LIMIT 10000, 20”作为示例,仅当它是最后的选择时。

如果没有类别,这会很好“SELECT * FROM products WHERE id > 10000 LIMIT 20”

但是,由于涉及产品的类别,我不能使用它。假设在整个数据库中有 2000 个产品之后,添加了第一个添加到类别 ID 10 的产品。该产品将获得 ID 2001。

因此,如果我浏览类别 ID 为 10 的第一页,将运行此查询:“SELECT * FROM products WHERE catid = 10 LIMIT 20”

如果我转到下一页,将运行:“SELECT * FROM products WHERE catid = 10 AND id > 20 LIMIT 20”

因此,基本上访问者会在每个页面中看到产品 2001,直到他在查询查找 ID 超过 2020 的产品时点击第 101 页,这就是为什么我不能在查询中使用“WHERE id > something”。

长话短说,在处理类别时处理分页的最佳方法是什么并且不会消耗太多性能?

最佳答案

我认为在您的情况下,您可以简单地运行以下查询:

"SELECT * FROM products WHERE catid = 10"

在它返回这么多行之后,使用 jquery 数据表在客户端控制它。 https://datatables.net/

这就是我目前正在使用的,因为它非常快。移至分页的另一页时不再需要查询

关于PHP + MySql 带类别且无偏移的分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22799644/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com