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> .
                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
                
                



--
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 à