php - 对 mysql 结果进行排序,使特定 id 排在第一位

标签 php mysql cakephp

我正在使用 CakePHP 分页来检索一些产品。问题是,当我单击某个产品时,我会通过 AJAX 获取内容。一切工作正常,但我还需要有一个到产品的直接链接,并且没有产品页面(只有 AJAX 检索的 html block )。

因此,我使用 #product-alias 哈希实现了列表链接。如果我在页面中有 anchor ,我会模拟对其的点击,并且效果很好,会显示产品的内容。

当我的产品位于另一个页面上时,就会出现问题。我认为解决方案是强制查询在第一页上检索产品。

当前的查询是这样的:

SELECT * FROM products Product {JOINS} WHERE Category.id = 1, Product.active = 1 LIMIT 0,10;

我可以在条件(或订单)中添加什么,以便在这些结果中包含 id = 12 的产品。

希望这里有足够的信息。 任何其他想法都会受到欢迎!

谢谢!

最佳答案

您可以创建一个临时 ID,显示与目标 ID 的相对距离,并按该值排序。在本例中,id 12:

SELECT *, ABS(Product.id - 12) AS idOrder 
FROM products Product
{JOINS} 
WHERE Category.id = 1, Product.active = 1 
ORDER BY idOrder ASC
LIMIT 0,10;

关于php - 对 mysql 结果进行排序,使特定 id 排在第一位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21575499/

相关文章:

mysql - 如何在 MySQL 中将自动增量格式设置为 0001?

mysql - 使用 MySql 工作台中现有列的条件值创建新列?

php - 数据自动同步远程数据库php mysql

php - CakePHP 为每个请求添加公共(public)代码

php - 无法加载 php5apache2_2.dll

php - 为什么我在 Symfony 1.2 上用 Doctrine 保存一个 "validator failed"?

php - 用于购物车的 Paypal IPN 处理程序

php - SQL时间戳+1小时?

mysql - 单独执行时查询速度快,嵌套时查询速度慢

cakephp - 在 CakePHP 中将变量传递给 __() 函数