在PHP中创建一个字母表,只有一些字母取决于数据库中的名称

ces*_*los 3 php mysql alphabet

我有一个包含很多名称的数据库(SQL),我想创建按字母顺序排列的按钮,因此很容易导航.我已经找到了很多关于如何在PHP中创建字母表的例子.但是,我想根据数据库中的名称构建一个只有有效字母的字母.

例如:

数据库列表:Anderson,Beresford,Donovan,Emerson,Graham ....

我希望字母表显示为:ABDEG ...

(请注意,C和F不会出现).

我能想到的唯一方法是

- 选择数据库中的每个名字,按顺序排序-loop逐个,查找第一个字符是什么,将其保存到数组,-loop到第二个字符,获取第一个字符,看它是否已存在于数组,如果它确实忽略它 - 直到我留下一个只有重复字母的数组.

这是唯一的方法吗?或者我错过了一个更简单的解决方案?

提前致谢.

Sam*_*tch 5

SELECT DISTINCT SUBSTRING(lastname,1,1) 'initial'
FROM people
ORDER BY initial ASC
Run Code Online (Sandbox Code Playgroud)

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