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

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

作者:互联网

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

例如:

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

我希望字母表显示为:A B D E G …

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

我能想到的唯一方法是

– 选择数据库中的每个名称,
– 按姓氏排序
-loop一个接一个,找到第一个字符是什么,将它保存到数组中,
-loop到第二个,得到第一个字符,看看它是否已经存在于数组中,是否确实忽略了它
– 直到我离开时,我只剩下一系列没有重复的字母.

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

提前致谢.

解决方法:

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

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

标签:alphabet,php,mysql
来源: https://codeday.me/bug/20190825/1716142.html