按字母顺序对表条目进行分组,并为每个字母 A B C 等提供一个链接


group table entries alphabetically and have a link for each letter A B C and so on

我有一张表格,上面有英国大量慈善机构的名称。

我想要一个页面,允许用户搜索这些慈善机构,但有1000个。我希望能够将字母表写成A,B,C等,每个字母都有一个链接到所有以该字母开头的慈善机构的链接。

使用cakephp做到这一点的最佳方法是什么?

Pendo是对的,但你会得到所有的字母表。您应该只显示包含以下内容的字母:

$words = $this->Word->find('all');
$letters = array();
foreach ($words as $word) {
    $letters[] = substr($word['Word']['Title'], 0, 1);
}
$letters = array_unique($letters);
sort($letters);
$this->set(compact('letters'));

不确定 CakePHP 是如何工作的,但基本上在 PHP 中你会做的是:

1)循环字母表:

for ($i=65; $i<=90; $i++) {
  echo chr($i);
}

当然,您应该自己添加正确的链接。

2) 如果选择了字母,请从 POST/GET 请求中获取它并在查询中使用它:

SELECT fields FROM table WHERE field LIKE 'X%';

X 代表所选字母。