我有一个数据库(SQL)有很多名字,我想创建字母顺序的按钮,以便它很容易导航。我发现了很多关于如何在php中创建字母表的例子。但是,我想建立一个只有有效字母的字母表,这取决于数据库中的名称。
例如:
数据库列出:安德森,贝雷斯福德,多诺万,艾默生,格雷厄姆…
我希望字母表显示为:A B D E G…
(注意c和f没有出现)。
我唯一能想到的是
-选择数据库中的每个名称,
-按姓氏排序
-逐个循环,找到第一个字符,保存到数组中,
-循环到第二个,获取第一个字符,看看它是否已经存在于数组中,以及它是否忽略了它
-不停地重复,直到我只剩下一堆未重复的字母。
这是唯一的办法吗?还是我错过了一个更简单的解决方案?
提前谢谢。

最佳答案

SELECT DISTINCT SUBSTRING(lastname,1,1) 'initial'
FROM people
ORDER BY initial ASC

请记住,这是对数据库中每一行的字符串操作,然后是未编制索引的排序操作。一旦桌子变大,它就不会有好的表现。

关于php - 在PHP中创建一个字母表,只有一些字母取决于数据库中的名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22720160/

10-10 18:10
查看更多