php - 对 php/MySQL 搜索结果进行排序

标签 php mysql sql search

我有一个辅导网站,约有 50 名导师。我想将搜索结果分成 5 页,每页 10 位导师。

结果经过加权,因此它们不会根据某些主键按顺序显示。我认为这会阻止我为第一页编写这样的查询:

SELECT * FROM teachers WHERE primary_key > 0 AND primary key < 11

第二页的查询如下:

SELECT * FROM teachers WHERE primary_key > 11 AND primary key < 21

那么,我如何一次系统地只接受 10 行,记住它们是什么,然后为下一页选择接下来的 10 行?我是否应该有第二个键,在计算权重后为结果分配数字顺序?这可以作为一个临时专栏吗?这是在 PHP/MySQL 环境中分割结果的糟糕方法吗?

最佳答案

您可以使用 ORDER BY 对结果进行排序,也可以使用 LIMIT 来声明限制。

SELECT * FROM teachers ORDER BY primary_key LIMIT 10

要从某个点开始(即 11 并仅显示 10),您可以添加以下内容:

SELECT * FROM teachers ORDER BY primary_key LIMIT 11,10 

然后您可以创建一个 PHP 脚本来生成限制偏移量的值...例如 21,10、31,10 等。

MySQL Select Syntax

关于php - 对 php/MySQL 搜索结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24063298/

相关文章:

javascript - parseJSON 在一种情况下有效,在另一种情况下无效

升级 Mac OS X Yosemite (Mac OS 10.10) 后 Mysql 无法启动

mysql - 如何根据某个子句选择具有所有不同值的一列

mysql - SQL:选择最新主题和最新帖子,按论坛分组,按最新帖子排序

php - POST 数据重定向页面失败

PHP/SQL - 更新、执行并返回成功但数据库中没有更新

php - 在 mySQL 中按相关性匹配单词的一部分和顺序

mysql - 如何在另一个查询中使用一个查询的结果

php - 如何将不同数组变量的数据添加到php中的sql表中

sql - 将文本转换为日期