сгруппировать записи таблицы в алфавитном порядке и иметь ссылку для каждой буквы A B C и т. д. - PullRequest
0 голосов
/ 10 мая 2011

У меня есть таблица, в которой хранятся названия благотворительных организаций в Великобритании.

Я хочу иметь страницу, которая позволит пользователям искать в этих благотворительных организациях, но их тысячи.Мне бы хотелось, чтобы в алфавите было написано A, B, C и т. Д., Чтобы каждая буква содержала ссылку на все благотворительные организации, начинающиеся с этой буквы.

Какой лучший способ сделать этоиспользуя cakephp?

Ответы [ 2 ]

0 голосов
/ 10 мая 2011

Пендо прав, но вы получите весь алфавит. Вы должны показывать только те буквы, которые имеют содержание:

$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'));
0 голосов
/ 10 мая 2011

Не уверен, как работает CakePHP, но в основном в PHP вы должны сделать следующее:

1) Цикл алфавита:

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

Конечно, вы должны добавить правильную ссылку самостоятельно.1006 *

2) Если буква выбрана, получите ее из запроса POST / GET и используйте в запросе:

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

X обозначает выбранную букву.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...