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