【问题标题】:jQuery pagination and size immensejQuery分页和大小巨大
【发布时间】:2011-08-14 08:56:32
【问题描述】:

我想使用jQuery pagination,问题出在这个,因为tabale(database)中的所有数据都必须是select。 现在例如,如果我们有一个table database of 10,000 rows,使用 jQuery 进行分页 size 它是immense(全选到页面)。

页面中use pagination jQuerylow size data的解决方案是什么?

注意:我不想使用插件

敬而远之

【问题讨论】:

  • 即使插件使解决问题变得容易,您也不想使用插件?
  • @AlienWebguy - 因为代码插件很大,以防万一用更小的代码到达。
  • 当你让你的“更小的代码”工作,然后只在主流浏览器上工作时,我保证它会比插件代码大得多,错误的两倍,并且不受其他任何人的支持.不要重新发明你不需要的东西。

标签: javascript jquery jquery-pagination


【解决方案1】:

无论您使用插件还是 jQuery,您都应该使用数据库查询在服务器上对它们进行分页,而不是选择所有内容然后对数据进行分页。您可以通过在查询中使用 LIMITOFFSET 来做到这一点。

首先进行一个 qount 查询以确定有多少人记录:

SELECT COUNT(*) AS nb_records FROM your_table;

您现在拥有可用于查询的所有记录。你可以根据每页想要多少条记录来计算你有多少页,就像在 php 中这样:

$pages = ceil($nb_records/$max_per_page);

现在您已经弄清楚了,您可以使用从请求中传递的页码参数来确定该页记录的开始偏移量并查询数据。例如,如果您传入第 2 页并且总共有 100 条记录,并且您希望每页 10 条,您可以计算第 2 页开头的偏移量为 20 ($max_per_page*$page = $offset) 进行查询:

SELECT * FROM your_table LIMIT 20 OFFSET 40;

因此,如果我们在前端讨论 ajax,您将向执行查询的页面发出请求,其页码如下所示:

$.ajax({
   url: 'page/that/makes/query.php'
   type: 'get',
   data: {"page": 1} // or whatever page}
   success: function(data){}
});

然后,这将返回记录“页面”的完整 html 标记或包含您将用于构建 html 的每条记录的详细信息的数据对象(JSON、XML)。

【讨论】:

  • 我该怎么办?请告诉我一个例子
  • 我不能做一个 js 小提琴......实际的分页发生在服务器端,而不是在 jquery 中。 jquery 所做的唯一事情是发出 ajax 请求并显示结果。这个教程看起来不错,但我只是略读了一遍:9lessons.info/2009/09/pagination-with-jquery-mysql-and-php.html如果你不使用 PHP,那么你可以尽可能简单地用谷歌搜索...搜索"SQL Pagination"+jquery+[whatever scripting language youre using]
猜你喜欢
  • 2011-12-24
  • 2013-06-17
  • 1970-01-01
  • 2015-02-28
  • 2012-11-08
  • 2011-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多