【发布时间】:2011-09-29 03:06:19
【问题描述】:
我在 CMS 中进行分页的标准行为之一是在按 alpha 列排序时显示字母快速栏。例如,如果结果按姓氏排序,则在分页下,我会输出一系列链接,从 A 到 Z,以将您直接带到特定第一个字符的页面。
示例:
目前,我正在通过获取该列的所有结果,按字母顺序排序,然后在 PHP 中循环遍历它们并记录记录出现在哪个页面上。当您只处理几百个结果时,这很好用,但我现在正在处理一个可能有几十万行的项目,这根本不是一个可行的选择。
有没有更有效的方法来产生这种索引?请注意,它还需要处理的不仅仅是 A-Z,因为行可能以数字或标点符号开头。
编辑澄清: 我不是在寻找所有第一个字符的简单列表,这很容易。我需要计算以该字符开头的字段将在总结果的哪一页上。所以假设我们正在寻找一个叫 Walter 的人,我有 1000 行,我需要知道 W 的开始位置在 1-1000 范围内的哪个位置。
【问题讨论】:
标签: php mysql pagination