agrupar las entradas de la tabla alfabéticamente y tener un enlace para cada letra ABC y así sucesivamente

Tengo una mesa que contiene los nombres de muchas organizaciones benéficas en el Reino Unido.

Quiero tener una página que permita a los usuarios buscar a través de estas organizaciones benéficas, pero hay miles de ellas. Me gustaría poder tener el alfabeto escrito A, B, C y así sucesivamente con cada letra un enlace a todas las organizaciones benéficas que comienzan con esa letra.

¿Cuál es la mejor manera de hacerlo usando cakephp?

preguntado el 10 de mayo de 11 a las 13:05

No hay un CakePHP específico solución para esto. Lo resolverá tanto con PHP nativo como con CakePHP. -

¿Alguien puede darme más detalles? Soy un novato total y, aunque agradezco la ayuda, todavía no entiendo realmente lo que se supone que debo hacer. Gracias -

2 Respuestas

Pendo tiene razón, pero obtendrás todo el alfabeto. Debes mostrar solo las letras que tienen contenido:

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

contestado el 10 de mayo de 11 a las 19:05

No estoy seguro de cómo funciona CakePHP, pero básicamente en PHP lo que haría es:

1) Bucle del alfabeto:

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

Por supuesto, debe agregar el enlace correcto usted mismo.

2) Si se elige una carta, consígala de una solicitud POST / GET y úsela en una consulta:

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

X representa la letra elegida.

contestado el 10 de mayo de 11 a las 17:05

¿Alguien puede darme más detalles? Soy un novato total y, aunque agradezco la ayuda, todavía no entiendo realmente lo que se supone que debo hacer. Gracias - BPD

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.