按字母顺序分组表条目,并为每个字母A B C提供链接,依此类推

时间:2011-05-10 13:32:36

标签: php cakephp

我有一张表格,其中载有英国慈善机构的名称。

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

使用cakephp做最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

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

1)循环使用字母表:

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

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

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

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

X代表所选字母。

答案 1 :(得分:0)

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'));