我正在使用CakePHP分页来检索一些产品。问题是,当我点击产品时,我通过AJAX获取内容。一切正常但我还需要有产品的直接链接,并且没有产品页面(只有AJAX检索的html块)。
所以我用#product-alias hash实现了列表的链接。如果我在页面中有锚点,我会模拟点击它并且工作正常,会显示产品的内容。
当我的产品在另一页上时出现问题。我认为解决方案是强制查询在第一页上检索产品。
当前查询如下:
SELECT * FROM products Product {JOINS} WHERE Category.id = 1, Product.active = 1 LIMIT 0,10;
我可以添加什么条件(或ORDER),以便在theese结果中使用id = 12的产品。
希望这里有足够的信息。 任何其他想法都很好收到了!
谢谢!
答案 0 :(得分:2)
您可以创建一个临时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;
答案 1 :(得分:0)
在WHERE中使用它。假设ProductId为12,则使用以下语法。
SELECT * FROM products Product {JOINS}
WHERE Category.id = 1, Product.active = 1 AND Product.ProductId=12 LIMIT 0,10;
如果您想跳过12条记录,可以使用此
SELECT * FROM products Product {JOINS}
WHERE Category.id = 1, Product.active = 1 LIMIT 12,10;
答案 2 :(得分:0)
SELECT * FROM products Product {JOINS} WHERE Category.id = 1, Product.active = 1 OR Product.id = 12 LIMIT 0,10;
这应该可行吗?