classement par ordre alphabetique

tu commence par une boucle auteur avec le critère {par nom}
<BOUCLE_toutlesauteurs(AUTEURS){par nom}>

Un problème est que l'ordre alphabétique des noms porte sur lesnoms de
famille, situés après le prénom dans le champ "Nom". ex: 'Karl Marx' est
avant 'Rosa Luxemburg'.

Je contourne l'obstacle en mettant, comme 'nom', Marx_Karl au lieu de Karl
Marx. Comme ça le tri {par nom} le placera bien après Luxemburg_Rosa.

Evidemment, l'affichage d'un nom nécessite l'application d'un filtre qui
remet la séquence Prénom..Nom dans l'ordre : dans mes_fonctions.php3, j'ai
donc

<?php
    // inverse le Nom_Prenom : "Borges_Jorge Luis" -> "Jorge Luis Borges"
    function prenom_nom($blaze) {
        return ereg_replace("(.*)_(.*)","\\2 \\1",$blaze);
    }
?>

-- Fil

On 17/07, Fil wrote:

| > tu commence par une boucle auteur avec le critère {par nom}
| > <BOUCLE_toutlesauteurs(AUTEURS){par nom}>
|
| Un problème est que l'ordre alphabétique des noms porte sur lesnoms de
| famille, situés après le prénom dans le champ "Nom". ex: 'Karl Marx' est
| avant 'Rosa Luxemburg'.

Puisqu'on en est dans les filtres, j'ai la même problématique pour mes
sites syndiqués: "CFDT" se retrouve avant "Cadres Plus". La comparaison
serait-elle faite en respectant les majuscules/minuscules?

  Sam

On 17/07, Fil wrote:

| > Puisqu'on en est dans les filtres, j'ai la même problématique pour mes
| > sites syndiqués: "CFDT" se retrouve avant "Cadres Plus". La comparaison
| > serait-elle faite en respectant les majuscules/minuscules?
|
| {par titre} est transformé en "ORDER BY spip_mots.titre", après on se repose
| sur mysql. S'il faut changer, changeons... ORDER BY LOWER(spip_mots.titre) ?
| Est-ce que ça ne va pas interdire l'usage d'un index sur les id_xxxx, est-ce
| que ça ne va pas merder sur les comparaisons de date ? Si oui, ça va être
| pas mal de boulot pour remettre CFDT derrière Cadres + :wink:

Bah, si ça ne te gêne pas d'avoir "Karl Marx" après "KKK", effectivement,
on peut ne rien changer :slight_smile: