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

Répondre à