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