在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