【发布时间】:2012-10-07 09:41:45
【问题描述】:
我制作了一个小应用程序,其中向用户显示了一个数据表。数据可以按不同的列标题排序,并使用输入进行过滤。
当用户点击一行时,它会打开一个小弹出窗口,其中包含两个箭头,用于转到下一条和上一条记录,其顺序与它们在表格中出现的顺序相同。
最初我有(例如“以前”):
SELECT ed.id
FROM entity_details AS ed, users
WHERE ed.id > ?
AND ed.typeRef = ?
AND ed.ownerRef = users.id
$filter
$SQLOrder LIMIT 1
如果表格按 ed.id 排序,这可以正常工作,但如果按另一列排序,则无法正常工作,例如ed.name,因为下一个字母名称可能有更高或更低的 id。
仅供参考 $filter 可能类似于:
AND branchRef = 2
$SQLOrder 可以是:
ORDER BY ed.name DESC
在尊重当前顺序和记录位置的情况下,我需要做什么才能使其正确循环记录?
所有的排序和过滤参数都通过 AJAX 来实现,例如:
$JSON->selectedbranch ;
我得出的结论是,我只需要知道如何从 X 列包含值 Y 的行开始查询,这可能吗?
【问题讨论】:
-
为什么你的 $SQLOrder 起过滤作用而不是排序作用?
-
我不确定,但你能告诉我你的排序代码在哪里吗?因为,如上所述,您的 $SQLOrder 只是
ed.name的另一个过滤
标签: php mysql ajax sql-order-by