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 <[email protected]> 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 <[email protected]> a écrit :
>
> ;)
>>
>> Yop ! J'ai vu.
>>
>> -----Message d'origine-----
>> De : Jérémy LEHERPEUR [mailto:[email protected]]
>> Envoyé : jeudi 10 mars 2011 11:07
>> À : [email protected]
>> 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 <[email protected]> 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 : [email protected]
>> [mailto:[email protected]] De la
>>        part de pascal camjusan
>>
>>        Envoyé : jeudi 10 mars 2011 10:10
>>
>>        À : [email protected]
>>
>>        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 <[email protected]>
>> 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 <[email protected]> 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 : [email protected]
>>        [mailto:[email protected]] 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
>> <[email protected]>
>>        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
>>                       à [email protected].
>>                       Pour vous désabonner de ce groupe, envoyez un e-mail
>> à
>>        l'adresse
>>                       [email protected]
>> <mailto:symfony-fr%[email protected]>
>>
>>        <mailto:symfony-fr%[email protected]
>> <mailto:symfony-fr%[email protected]> > .
>>
>>                       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 à
>>        [email protected].
>>                       Pour vous désabonner de ce groupe, envoyez un e-mail
>> à
>>        l'adresse [email protected]
>> <mailto:symfony-fr%[email protected]>
>>
>>        <mailto:symfony-fr%[email protected]
>> <mailto:symfony-fr%[email protected]> > .
>>
>>                       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 à
>>        [email protected].
>>        Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
>>        [email protected]
>> <mailto:symfony-fr%[email protected]> .
>>        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 à
>> [email protected].
>>        Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
>> [email protected]
>> <mailto:symfony-fr%[email protected]> .
>>        Pour plus d'options, consultez la page de ce groupe :
>> http://groups.google.com/group/symfony-fr?hl=fr
>>
>>
>>
>>
>>
>>
>> --
>> Jérémy LEHERPEUR
>> [email protected]
>>
>>
>> --
>> Vous recevez ce message, car vous êtes abonné au groupe Google
>> Groupes Symfony-fr.
>> Pour envoyer un message à ce groupe, adressez un e-mail à
>> [email protected].
>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
>> [email protected].
>> 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 à
> [email protected].
> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
> [email protected].
> Pour plus d'options, consultez la page de ce groupe :
> http://groups.google.com/group/symfony-fr?hl=fr
>



-- 
Jérémy LEHERPEUR
[email protected]

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

Répondre à