PHP分页取决于数据库中表的列值

时间:2014-05-20 10:25:48

标签: php mysql sql pagination

我需要对表进行分页包含以下内容:

  • ID
  • 名称
  • type(包含:bad,good,great)。

我需要根据类型对结果进行排序,首先要显示“好”,然后“好”,最后“坏”。例如:我有36行,类型为'great',25有'good'类型,13有'bad'类型(总行数为74),我将在每页显示10。因此,在第4页,将有6个类型为“great”,4个类型为“good”。

如何做这样的分页?

1 个答案:

答案 0 :(得分:1)

点击一个按钮(箭头,提交输入,适合你的任何内容),通过get或post发送一个带有页码的参数(从0开始)。

在您的服务器端获取您发送的页码,检查它是否有效并清除危险物品(如注射各种类型)。将它乘以一些“pagesize”,然后在数据库中查询一系列记录(按类型,id排序)。

示例:74条记录,第4页,您将page = 3作为GET参数传递并将其设置为某个变量($ page),将其乘以页面大小并放入offset和{{1}的查询中}}:

limit

其中,偏移量计算为 SELECT * FROM table ORDER BY type DESC, id LIMIT 10 OFFSET 30 * $page,限制为$pageSize。因此,您可以从31-40范围内获得10条记录,按类型排序。

在这个具体的例子中,您可以按字母顺序对降序类型进行排序(因为'好'>'好'>'坏'),但您可能需要对更多不同类型进行更高级的排序。