Le problème

Comment afficher une liste d’éléments ayant un numéro d’ordre comme préfixe de leur titre (du genre "1. titre rubrique 1", "2. titre rubrique 2"...) triés par ordre alphabétique SANS tenir compte du numéro ?

Le code

<ul>
<BOUCLE_t(RUBRIQUES){tout} {par SUBSTRING_INDEX(titre,".",-1)}>
  <li>#TITRE</li>
</BOUCLE_t>
</ul>

L’explication

La syntaxe du critère {par SUBSTRING_INDEX(titre,".",-1)} est une fonction MySQL dont voici la description :

SUBSTRING_INDEX(str,delim,count)

Retourne une portion de la chaîne de caractères str, située avant count occurrences du délimiteur delim. Si l’argument count est positif, tout ce qui précède le délimiteur final sera retourné. Si l’argument count est négatif, tout ce qui suit le délimiteur final sera retourné.

Cela nous permet de classer les rubriques de notre boucle "par" leur titre auquel on "retire" tout ce qui précède le délimiteur (dans notre cas un point).

De la même manière, on peut utiliser tout type de fonction MySQL de chaîne de caractères pour trier les éléments d’une boucle en insérant la fonction dans le critère {par ...}.

Merci cy_altern et azerttyu