2 petites questions toute simple

Résolu
biloutte33
Messages postés
140
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
18 décembre 2010
- 7 mars 2007 à 22:25
biloutte33
Messages postés
140
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
18 décembre 2010
- 8 mars 2007 à 15:42
bonsoir à toutes, bonsoir à tous,
voilà, je possède une liste de membre mais j'aimerais savoir comment faire pour que l'on puisse naviguer entre les membres par lettre alphabétique et par page
exemple si la lettre B est choisie :
A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z

Bénédicte
Benoit
Bertrand

1-2-3 >>

voilà que ça s'affiche par ordre alphabétique par selection de lettres et par pages
bien sur, si aucune lettre n'est sélectionnée, la liste serait au complet avec toujours quand meme par exemple un affichage de 3prénoms (c'est un exemple) par page donc avec le nombre de page de 3 si il y a 9 membres (affichage par 3 donc 3x3 = 9)
Du genre:

Arnaud
Benoit
Clément
en page 1

Henry
Jeremy
Jérôme
en page 2

Mathieu
Sylvain
Tommy
en page 3

voilà je sais pas comment expliquer autrement donc non je ne vous prend pas pour des demeurer mais comme je l'ai dis, je ne sais pas comment expliquer ce que je veux faire c'est pour ça que j'ai fait cet exemple qui, à mes yeux, me parait clair car je sais ce que je veux faire
merci d'avance.

4 réponses

J_G
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
9
8 mars 2007 à 10:31
Salut,

Tu peux créer ton index indépendament de la liste des membres...

Un truc du genre :
SELECTupper(substring(name,1,1))ASchar,count(id)ASnb
FROM`membre`
WHERE1
GROUPBYchar
ORDERBYchar

Ensuite, par page tu regroupes les lettres ....
$pages = array(); // regroupement des membre par page
$i = 1; // index de la page en cours
$nb = 0; // nombre de membre dans la page en cours
$nb_max = 10; // nombre limite de membres pour regrouper

$page[$i] = array(); // initialisation
while ( $initiale = mysql_fetch_assoc($db_res) ) {
    $page[$i][] = $initiale['char'];
    $nb += $initiale['nb'];
    if ( $nb > $nb_max ) {
       $nb = 0;
       $i++;
       $page[$i] = array();
    }
}

C'est un idée... rien de plus!
Bonne chance
3
cs_morpheus57
Messages postés
121
Date d'inscription
vendredi 31 mars 2006
Statut
Membre
Dernière intervention
30 décembre 2010

8 mars 2007 à 09:27
Hello,

Il faut utiliser une requête SQL du type :
SELECT name
FROM user
WHERE name LIKE 'A%'
0
biloutte33
Messages postés
140
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
18 décembre 2010

8 mars 2007 à 09:57
merci maisil faut que je fasse cette requete sur chaque lettre?
et comment faire pour que par défaut il y ai la liste de membres classée comme d'habitude et avec le nombre de page? car cela ne répond toujours pas à mes questions :(
0
biloutte33
Messages postés
140
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
18 décembre 2010

8 mars 2007 à 15:42
merci beaucoup je vais tester (meme si c'est pas sur que j'y arrive lol) et je vous tiendrais au courant :)
merci :)
0