Page 1 sur 1

Etablir une liste (avec index par lettre)

Posté : 28 mars 2010, 20:29
par Kwintin
Bonjour à tous,

Je tente d'afficher une liste de nom/prénom à partir d'un tableau MySQL. Jusque là, pas de problème.
Maintenant j'aimerais afficher (à la manière du répertoire iPhone par exemple), une ligne reprenant la première lettre des noms qui la suive...

Exemple :

A
ALBERT Michel
AMONT Christelle
B
BRAILLE Raymond
BZUKO Isabelle
D
DUPOLI Margaux

Remarquez que j'aimerais que la fonction PHP n'affiche pas de lettre si aucun des noms ne commence par cette lettre (ici C).
Pensez vous pouvoir me donner quelques éléments de réponse pour m'aider ?

Merci d'avance ;)

Re: Etablir une liste (avec index par lettre)

Posté : 28 mars 2010, 20:32
par stealth35

Re: Etablir une liste (avec index par lettre)

Posté : 28 mars 2010, 20:46
par datesta
tu peux faire comme sur le sujet donné par stealth35 mais aussi comme ça :
$result = mysql_query("SELECT nom, prenom, SUBSTRING(nom,1,1) as lettre FROM contact ORDER BY nom, prenom");
$arrNom = Array();
while($row = mysql_fetch_array($result)) //recup des infos dans un tableau indexé par la 1ere lettre du nom
{
$arrNom[$row["lettre"]][] = $row["nom"]." ".$row["prenom"];
}

//et là tu parcours $arrNom pour affichage
mais bon là tu stockes dans un tableau alorsque tu peux t'en passer ^^