Je n'aurais pas dit mieux.

J'aurais juste rajouter l'option de charger tous les users et de faire le
découpage par javascript. Mais c'est valable (hors ajax) s'il n'y pas trop
d'users pour ne pas avoir une page trop lourde à charger. 

-----Message d'origine-----
De : symfony-fr@googlegroups.com [mailto:symfony-fr@googlegroups.com] De la
part de Jérémy LEHERPEUR
Envoyé : jeudi 10 mars 2011 12:00
À : symfony-fr@googlegroups.com
Cc : pascal camjusan
Objet : Re: [symfony-fr] Re: mise en place d'un tri en fonction d'une lettre
choisie

Il faut que tu créer une route dans le routing.yml de ton application.

user_by_letter:
  url: /utilisateur/:letter
  param: { module: utilisateur, action: myAction }

Tu remplace utilisateur par le module ouse trouve le code que tu as mis tout
a l'heure, et myAction par l'action.

ensuite, tu fait un truc du genre dans ton template:

<?php
foreach(range('a', 'z') as $letter) {
    $link = url_for("@user_by_letter?letter=$letter")
    echo "<a href=\"$link\">$letter</a>"; } ?>



Tu test et nous redis si tu as un soucis !


Le 10 mars 2011 11:25, pascal camjusan <pascal.camju...@gmail.com> a écrit :


        Merci beaucoup a tous les deux =D maintenant j'ai encore un dernier
point a eclaircir :
        
        comment fait-on pour faire le lien entre les lettres et les requêtes
? je m'explique 
        
        en fait pour le moment, ne sachant pas trop comment procéder j'ai
mis les lettres de la manière suivante : <a href="#">A</a>
        
        en tout cas merci beaucoup pour votre aide ;)
        
        
        Le 10 mars 2011 11:08, Lélio ML <mailing-l...@lelio.fr> a écrit :


                ;)
                
                Yop ! J'ai vu.
                
                -----Message d'origine-----
                De : Jérémy LEHERPEUR [mailto:jer...@leherpeur.net]
                Envoyé : jeudi 10 mars 2011 11:07
                
                À : symfony-fr@googlegroups.com
                
                Cc : Lélio ML
                
                Objet : Re: [symfony-fr] Re: mise en place d'un tri en
fonction d'une lettre
                choisie
                
                Quelle complémentarité Lelio !! ;)
                
                
                Le 10 mars 2011 11:03, Lélio ML <mailing-l...@lelio.fr> a
écrit :
                
                
                       Alors là c'est dangereux ce que tu fais : un
paramètre d'une URL
                directement
                       dans la reuqête SQL. Tu t'exposes à énormément de
risques.
                
                       Ce qu'il faut faire pour commencer c'est lire la doc.
Faire le
                tutoriel
                       Jobbet qui est très bien fait et traduit en plusieurs
langues dont
                le
                       Français.
                
                       Au-delà, il faut procéder ainsi :
                
                       Actions : réceptionne les paramètres de l'URL (via
                       $request->getParameter('letter') et lance la méthode
de ton objet
                UserTable.
                
                       > actions :
                
                        $this->users =
                
        
Doctrine::getTable()->retriveUsersByLetter($request->getParameter('letter');
                
                       > Doctrine_Table :
                
                       class UserTable extends Doctrine_Table
                       {
                        // ...
                        public function retrieveUsersByLetter($letter)
                        {
                          $this->createQuery('u')
                          ->andWhere('u.name like %, $letter.'%')
                          ->orderBy('u.name')
                          ->execute();
                        }
                       }
                
                       Et tu exploites dans ton template le résultat
(Doctrine_Collection)
                :
                
                       <ul>
                        <?php foreach($users as $user): ?>
                          <li><?php echo $user ?></li>
                        <?php endforeach; ?>
                       </ul>
                
                
                
                
                
                       -----Message d'origine-----
                       De : symfony-fr@googlegroups.com
                [mailto:symfony-fr@googlegroups.com] De la
                       part de pascal camjusan
                
                       Envoyé : jeudi 10 mars 2011 10:10
                
                       À : symfony-fr@googlegroups.com
                
                       Objet : Re: [symfony-fr] Re: mise en place d'un tri
en fonction
                d'une lettre
                
                       choisie
                
                        J'ai tenté de faire ceci mais sans succès :
                
                                                  <?php
                                                  $q =
Doctrine_Query::Create()
                                                  ->from('utilisateur u')
                                                  ->where('u.nom LIKE ?',
                $_GET(lettre).'%')
                                                  ?>
                
                       Comment faire pour que symfony reconnaisse la lettre
sur laquelle je
                clique
                       ? pour le moment au niveau des lettre j'ai fait comme
si j'utilisais
                la
                       methode GET mais je ne pense pas que ce soit la
solution.
                
                
                       Le 10 mars 2011 09:47, pascal camjusan
<pascal.camju...@gmail.com> a
                écrit :
                
                
                              ah je travaille avec doctrine du coup c'est
normal que ça ne
                marche
                       pas.  Est ce qu'il y a beaucoup de différences
lorsqu'on utilise
                doctrine ?
                
                
                              Le 10 mars 2011 09:44, Lélio ML
<mailing-l...@lelio.fr> a
                écrit :
                
                
                                      Est-ce que tu travailles avec Doctrine
ou avec Propel
                ?
                       Parce que la classe
                                      Criteria est lié à Propel. Pour
Doctrine, c'est la
                classe
                       Doctrine_Query.
                                      Avec une utilisation un peu similaire.
                
                                      -----Message d'origine-----
                                      De : symfony-fr@googlegroups.com
                       [mailto:symfony-fr@googlegroups.com] De la
                                      part de pascal camjusan
                                      Envoyé : jeudi 10 mars 2011 09:43
                                      À : Symfony-fr
                                      Objet : [symfony-fr] Re: mise en place
d'un tri en
                fonction
                       d'une lettre
                                      choisie
                
                
                                      J'ai trouvé un truc en recherchant un
peu. il y
                aurait une
                       classe appelée
                                      Criteria. J'ai donc tenté de reprendre
un script mais
                j'ai
                       pas trouvé ou il
                                      se met (directement dans une page
success ou dans le
                action
                       class ou autre
                                      ?). voici le code que j'ai trouvé :
                
                                      $c = new Criteria();
                                      $c->add(UserPeer::USERNAME,
                                             sprintf("SUBSTR(%s, 1, 1) NOT
IN ('%s')",
                                                     UserPeer::USERNAME,
                                                     implode("','",
range('A', 'Z'))),
                                             Criteria::CUSTOM);
                
                                      je l'ai recopié dans ma page avec la
liste des
                utilisateurs
                       mais le message
                                      d'erreur suivant m'est affiché :
                
                                      Fatal error: Class 'Criteria' not
found in
                       C:\DevSymfony\projects\test
                
        
\apps\ami\modules\gestionnaire\templates\_listUtilisateur.php on
                line
                                      15
                
                                      Quelqu'un saurait dire d'ou vient mon
erreur ? merci
                       d'avance ^^
                
                                      On 9 mar, 17:59, pascal camjusan
                <pascal.camju...@gmail.com>
                       wrote:
                                      > Bonjour tout d'abord désolé pour la
formulation de
                l'objet
                       je ne
                                      > savais pas trop comment m'exprimer
                                      >
                                      > donc voila en fait je voudrais
mettre en place la
                chose
                       suivante :
                                      >
                                      > Sur une base de données j'ai une
table utilisateur.
                j'ai
                       donc un
                                      > module que j'ai modifié pour
afficher la liste des
                       utilisateurs. Ce
                                      > que je voudrais faire est de mettre
en place un
                alphabet
                       au dessus du
                                      > tableau des utilisateurs pour
ensuite faire en
                sorte que
                       quand on
                                      > clique sur unelettre,seulsles
utilisateurs dont le
                nom
                       commence par
                                      > cettelettresoit affiché.
                                      >
                                      > Quelqu'un saurait comment procéder ?
merci d'avance
                =D
                
                                      --
                                      Vous recevez ce message, car vous êtes
abonné au
                groupe
                       Google
                                      Groupes Symfony-fr.
                                      Pour envoyer un message à ce groupe,
adressez un
                e-mail
                                      à symfony-fr@googlegroups.com.
                                      Pour vous désabonner de ce groupe,
envoyez un e-mail
                à
                       l'adresse
        
symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> 
                <mailto:symfony-fr%2bunsubscr...@googlegroups.com
<mailto:symfony-fr%252bunsubscr...@googlegroups.com> >
                
                       <mailto:symfony-fr%2bunsubscr...@googlegroups.com
<mailto:symfony-fr%252bunsubscr...@googlegroups.com> 
                
                <mailto:symfony-fr%252bunsubscr...@googlegroups.com
<mailto:symfony-fr%25252bunsubscr...@googlegroups.com> > > .
                

                                      Pour plus d'options, consultez la page
de ce groupe :
        
http://groups.google.com/group/symfony-fr?hl=fr
                
                
                                      --
                                      Vous recevez ce message, car vous êtes
abonné au
                groupe
                       Google Groupes Symfony-fr.
                                      Pour envoyer un message à ce groupe,
adressez un
                e-mail à
                       symfony-fr@googlegroups.com.
                                      Pour vous désabonner de ce groupe,
envoyez un e-mail
                à
                       l'adresse symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> 
                <mailto:symfony-fr%2bunsubscr...@googlegroups.com
<mailto:symfony-fr%252bunsubscr...@googlegroups.com> >
                
                       <mailto:symfony-fr%2bunsubscr...@googlegroups.com
<mailto:symfony-fr%252bunsubscr...@googlegroups.com> 
                
                <mailto:symfony-fr%252bunsubscr...@googlegroups.com
<mailto:symfony-fr%25252bunsubscr...@googlegroups.com> > > .
                

                                      Pour plus d'options, consultez la page
de ce groupe :
                       http://groups.google.com/group/symfony-fr?hl=fr
                
                
                
                
                
                       --
                       Vous recevez ce message, car vous êtes abonné au
groupe Google
                Groupes
                       Symfony-fr.
                       Pour envoyer un message à ce groupe, adressez un
e-mail à
                       symfony-fr@googlegroups.com.
                       Pour vous désabonner de ce groupe, envoyez un e-mail
à l'adresse
                       symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> 
                <mailto:symfony-fr%2bunsubscr...@googlegroups.com
<mailto:symfony-fr%252bunsubscr...@googlegroups.com> > .
                       Pour plus d'options, consultez la page de ce groupe :
                       http://groups.google.com/group/symfony-fr?hl=fr
                
                
                       --
                       Vous recevez ce message, car vous êtes abonné au
groupe Google
                Groupes Symfony-fr.
                       Pour envoyer un message à ce groupe, adressez un
e-mail à
                symfony-fr@googlegroups.com.
                       Pour vous désabonner de ce groupe, envoyez un e-mail
à l'adresse
                symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> 
                <mailto:symfony-fr%2bunsubscr...@googlegroups.com
<mailto:symfony-fr%252bunsubscr...@googlegroups.com> > .
                       Pour plus d'options, consultez la page de ce groupe :
                http://groups.google.com/group/symfony-fr?hl=fr
                
                
                
                
                
                
                --
                
                Jérémy LEHERPEUR
                jer...@leherpeur.net
                
                
                --
                Vous recevez ce message, car vous êtes abonné au groupe
Google Groupes Symfony-fr.
                Pour envoyer un message à ce groupe, adressez un e-mail à
symfony-fr@googlegroups.com.
                Pour vous désabonner de ce groupe, envoyez un e-mail à
l'adresse symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> .
                Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr
                
                


        

        -- 
        Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
        Pour envoyer un message à ce groupe, adressez un e-mail à
symfony-fr@googlegroups.com.
        Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> .
        Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr
        




--
Jérémy LEHERPEUR
jer...@leherpeur.net


-- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail à
symfony-fr@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr


-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à symfony-fr@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à