我有一个装满记录的巨大表格,我使用 PHP 为每个记录制作了一个单独的页面。在页面上,我想按字母顺序将它们链接起来,例如页面“Dunn”在侧边栏中会有这样的链接:
- 达伦
- 戴夫
- 厄运
- 邓恩
- 杜普
- 杜斯
- 杜特
始终有 3 个链接在字母表的两侧上下移动。所有数据都将立即插入到表中,我能想到的唯一方法是在插入时设置一个数字,使其在字母表中相对于其他数据的位置。
这看起来很复杂,我想知道是否有更简单或更好的解决方案?我之前在很多网站上看到过这样做,所以希望我能找到一个 :) 任何帮助将不胜感激。
最佳答案
扩展 Gumbo 的回答:如果您愿意,可以使用 UNION 在一个查询中完成。
(
SELECT `name`
FROM `table`
WHERE `name` < "Dunn"
ORDER BY `name` DESC
LIMIT 3
)
UNION ALL (
SELECT `name`
FROM `table`
WHERE `name` = "Dunn"
LIMIT 1
)
UNION ALL (
SELECT `name`
FROM `table`
WHERE `name` > "Dunn"
ORDER BY `name` ASC
LIMIT 3
)
因此给出一个包含所有 7 个必需条目的表格。
关于PHP MySQL 字母顺序链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1153275/