IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Utilisation du pager pour une requete de recherche


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Par défaut Utilisation du pager pour une requete de recherche
    Bonjour à tous,

    J'ai actuellement, une recherche à l'aide d'un formulaire qui fonctionne très bien:
    monModule/templates/indexSuccess.php:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <form method="get" name="recherche_categories" action="<?php echo url_for('monModule/index');?>">
        <fieldset>
            <legend>Recherche une pi&egrave;ce par cat&eacute;gorie</legend>
                <select name="marques">
                    <option value="Tous">Tous</option>
    <?php foreach ($ChoixMarques as $ChoixMarque): ?>
                    <option value="<?php echo $ChoixMarque->getId()?>"><?php echo $ChoixMarque->getConstructeur() ?></option>
    <?php endforeach; ?>
                </select>
                <select name="gammes">
                    <option value="Tous">Tous</option>
    <?php foreach ($ChoixGammes as $ChoixGamme): ?>
                    <option value="<?php echo $ChoixGamme->getId()?>"><?php echo $ChoixGamme->getIntitule() ?></option>
    <?php endforeach; ?>
                </select>
                <select name="categories">
                    <option value="Tous">Tous</option>
    <?php foreach ($ChoixCategories as $ChoixCategorie): ?>
                    <option value="<?php echo $ChoixCategorie->getIndexCategorie()?>"><?php echo $ChoixCategorie->getFamille() ?></option>
    <?php endforeach; ?>
                </select>
        </fieldset>
        <input type="submit" name="submit" value="Rechercher" />
    </form>
     
    <?php
        if (isset($submit))
        {
            if ($marque == 'Tous' && $gamme == 'Tous' && $categorie == 'Tous')
            {
                echo 'Veuillez affiner votre recherche';
            }
            else
            {
     
    ?>
    <h1>List</h1>
    /..
     
    ../
    <br /><br />
    <?php
            }
        }
    ?>
     
    <hr />
    <a href="<?php echo url_for('monModule/new') ?>">New</a>

    monModule/actions/actions.classe.php:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
        public function executeIndex(sfWebRequest $request)
      {
        $this->ChoixMarques = Doctrine::getTable('Marque')
            ->createQuery('a')
            ->orderBy('constructeur')
            ->execute();
     
        $this->ChoixGammes = Doctrine::getTable('Gammes')
            ->createQuery('b')
            ->orderBy('Intitule')
            ->execute();
     
        $this->ChoixCategories = Doctrine::getTable('Categorie')
             ->createQuery('c')
             ->select()
             ->where('c.id_parent = 269')
             ->orderBy('c.famille')
             ->execute();
     
        if($request->getParameter('marques'))
        {
            $marque = $request->getParameter('marques');
            $categorie = $request->getParameter('categories');
            $gamme = $request->getParameter('gammes');
            $submit = $request->getParameter('submit');
     
            if($request->getParameter('marques')=='Tous' && $request->getParameter('gammes')=='Tous' && $request->getParameter('categories')=='Tous')
            {
            }
            else
            {
                if ($marque == 'Tous')
                {
                    $requete_marque = 'd.index_marque LIKE "%"';
                }
                else
                {
                    $requete_marque = 'd.index_marque = '.$request->getParameter('marques');
                }
     
                if ($categorie == 'Tous')
                {
                    $requete_categorie = 'd.index_famille LIKE "%"';
                }
                else
                {
                    $requete_categorie = 'd.index_famille = '.$request->getParameter('categories');
                }
     
                if ($gamme == 'Tous')
                {
                    $requete_gamme = 'd.index_gamme LIKE "%"';
                }
                else
                {
                    $requete_gamme = 'd.index_gamme = '.$request->getParameter('gammes');
                }
                    $this->catalogue_requete = Doctrine::getTable('Catalogue')
                      ->createQuery('d')
                      ->select()
                      ->leftJoin('d.JointuresGammes e')
                      ->where($requete_marque)
                      ->andWhere($requete_categorie)
                      ->andWhere($requete_gamme)
                      ->execute();    
            }
        }
      }

    Cependant, pour des raison évidentes, étant donné qque je vais avoir des milliers d'entrées, je souhaite faire une pagination.
    J'ai donc rajouter au template:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    <h1>List</h1>
    /..
     
    ../
    <div style="width:20px;float:left;margin-top:3px;margin-right:10px">
    <?php echo link_to('first', 'monModule/index?marques='.$marque.'&gammes='.$gamme.'&categories='.$categorie.'&submit=Rechercher&page='.$pager->getFirstPage()) ?>
    </div>
     
    <div>
    <?php 
        if ($pager->haveToPaginate())
        { 
    ?>
    <?php 
        $links = $pager->getLinks(); 
        foreach ($links as $page): 
    ?>
    <div style="padding:5px 5px 5px 5px;border:#000000 thin solid;float:left;width:10px;margin-left:3px;font-size:10px" >
    <?php 
        echo ($page == $pager->getPage()) ? $page : link_to($page, 'monModule/index?marques='.$marque.'&gammes='.$gamme.'&categories='.$categorie.'&submit=Rechercher&page='.$page) 
    ?>
    </div>
    <?php endforeach ?>
    <?php
        }
    ?>
    </div>
     
    <div style="width:20px;float:left;margin-left:10px;margin-top:3px;">
    <?php 
        echo link_to('last', 'monModule/index?marques='.$marque.'&gammes='.$gamme.'&categories='.$categorie.'&submit=Rechercher&page='.$pager->getLastPage()) 
    ?>
    </div>
    <br /><br />
    <?php
            }
        }
    ?>
     
    <hr />
    <a href="<?php echo url_for('monModule/new') ?>">New</a>

    je bloque pour le fichier actions.class pour que la pagination s'effectue bien sur ma requete. J'ai essayé ceci mais la pagination se fait sans mes where:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    ../
                    $catalogue_requete = Doctrine::getTable('Catalogue')
                      ->createQuery('d')
                      ->select()
                      ->leftJoin('d.JointuresGammes e')
                      ->where($requete_marque)
                      ->andWhere($requete_categorie)
                      ->andWhere($requete_gamme);
     
                    $this->pager = new sfDoctrinePager('Catalogue', 10);
                    $this->pager->getQuery($catalogue_requete);
                    $this->pager->setPage($this->getRequestParameter('page',1));
                    $this->pager->init();
     
            }
        }
      }

    Merci de votre aide...

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Avant d'attaquer ton problème, pourrais-tu poster le schema de ton / tes objets en question ? J'avoue ne pas comprendre le fait que tu listes différents objets qui n'auraient aucun lien / relation entre eux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        $this->ChoixMarques = Doctrine::getTable('Marque')
            ->createQuery('a')
            ->orderBy('constructeur')
            ->execute();
     
        $this->ChoixGammes = Doctrine::getTable('Gammes')
            ->createQuery('b')
            ->orderBy('Intitule')
            ->execute();
     
        $this->ChoixCategories = Doctrine::getTable('Categorie')
             ->createQuery('c')
             ->select()
             ->where('c.id_parent = 269')
             ->orderBy('c.famille')
             ->execute();
    D'autre part, je ne comprends pas non plus pourquoi tu fais dans la demie-mesure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        if($request->getParameter('marques'))
        {
            $marque = $request->getParameter('marques');
            $categorie = $request->getParameter('categories');
            $gamme = $request->getParameter('gammes');
            $submit = $request->getParameter('submit');
    Soit tu décides de vérifier que les 4 paramètres sont passés, soit aucun, non ? (personnellement, je vérifierais les 4).

    Également, tout le code qui suit dans ton actions.class.php devrait être à revoir selon moi : en appliquant le modèle MVC, tout ce code devrait se retrouver dans des méthodes de tes tables (monObjetTable.class.php).
    Cela permettrait d'alléger beaucoup le code de ton contrôleur, de pouvoir envisager de réaliser des tests unitaires qui vérifient que tes requêtes marchent, d'avoir une maintenance beaucoup moins lourde, etc.

    Également :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
             ->where('c.id_parent = 269')
    A PROHIBER !! L'id que tu lui passes doit être obtenu avec une requête !! Il suffit que tes fixtures se chargent dans un autre ordre, que tu ajoutes du contenu ou que en retire, etc, et ton id ne correspond plus à rien !

    Une dernière chose : as-tu regardé du côté de l'admin-generator ? Il te gère tout seul la pagination.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Par défaut
    En fait dans ma table catalogue j'ai un champ id_marque, id_famille qui corresponde à l'id de la marque et de la catégorie choisie et je gère la gamme par une jointure car un élément du catalogue peut avoir plusieurs gammes.

    C'est juste que j'ai stocké dans des tables différentes le nom des marque, catégorie et gamme.

    Après pour la marque et la catégorie un objet de la table catalogue ne peut pas appartenir à plusieurs marque ou catégorie du coup j'ai pas de jointure.


    Effectivement, je peux rajouter un test pour tous les paramètres.


    Pour ce qui est de l'id 269, ce n'est pas un id que je récupère c'est juste que dans la table catégorie j'ai plusieurs catégories et sous catgéories. sauf que je ne veux afficher que les catégorie première et elles sont reconnaissables dans ma table parce qu'elles ont un id_parent = 269 alors que les sous catégories ont des id_parents différent.

    Pour respecter le modele MVC, il serait mieux que je fasse ainsi:
    actions.class.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
      public function executeIndex(sfWebRequest $request)
      {
        $this->ChoixMarques = Doctrine::getTable('Marque')
            ->createQuery('a')
            ->orderBy('constructeur')
            ->execute();
     
        $this->ChoixGammes = Doctrine::getTable('Gammes')
            ->createQuery('b')
            ->orderBy('Intitule')
            ->execute();
     
        $this->ChoixCategories = Doctrine::getTable('Categorie')
             ->createQuery('c')
             ->select()
             ->where('c.id_parent = 269')
             ->orderBy('c.famille')
             ->execute();
     
        if($request->getParameter('marques'))
        {
            $marque = $request->getParameter('marques');
            $categorie = $request->getParameter('categories');
            $gamme = $request->getParameter('gammes');
            $submit = $request->getParameter('submit');
        }
      }
    catalogueTable.classe.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    class CatalogueTable extends Doctrine_Table
    {
     
        public static function getInstance()
        {
            return Doctrine_Core::getTable('Catalogue');
     
            if($request->getParameter('marques')=='Tous' && $request->getParameter('gammes')=='Tous' && $request->getParameter('categories')=='Tous')
            {
            }
            else
            {
                if ($marque == 'Tous')
                {
                    $requete_marque = 'd.index_marque LIKE "%"';
                }
                else
                {
                    $requete_marque = 'd.index_marque = '.$request->getParameter('marques');
                }
     
                if ($categorie == 'Tous')
                {
                    $requete_categorie = 'd.index_famille LIKE "%"';
                }
                else
                {
                    $requete_categorie = 'd.index_famille = '.$request->getParameter('categories');
                }
     
                if ($gamme == 'Tous')
                {
                    $requete_gamme = 'd.index_gamme LIKE "%"';
                }
                else
                {
                    $requete_gamme = 'd.index_gamme = '.$request->getParameter('gammes');
                }
                    $catalogue_requete = Doctrine::getTable('Catalogue')
                      ->createQuery('d')
                      ->select()
                      ->leftJoin('d.JointuresGammes e')
                      ->where($requete_marque)
                      ->andWhere($requete_categorie)
                      ->andWhere($requete_gamme);
     
                    $this->pager = new sfDoctrinePager('Catalogue', 10);
                    $this->pager->getQuery($catalogue_requete);
                    $this->pager->setPage($this->getRequestParameter('page',1));
                    $this->pager->init();
     
            }
     
        }
    }
    C'est cela??

    Sinon cette partie est dans le frontend, visible par tous donc je ne peux pas utiliser l'AdminGenerator

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    On va reprendre dans l'ordre

    Donc, dans ton schéma, tu es censé avoir 2 relations sur ta table Catalogue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Catalogue:
      actAs: ~
      columns:
        # je te conseille de plutôt adopter cette norme "name_id" qui est celle de Doctrine
        marque_id: integer
        famille_id: integer
      relations:
        Marque:
          local: marque_id
          foreign: id
          foreignAlias: Catalogue
          # et un attribut que j'ai oublié pour lui préciser que c'est une relation 1-1
        Famille:
          local: famille_id
          foreign: id
          foreignAlias: Catalogue
          # et un attribut que j'ai oublié pour lui préciser que c'est une relation 1-1
    et sur ta table Gamme, tu en censée avoir une relation 1-n :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Gamme:
      actAs: ~
      columns: 
        catalogue_id: integer
      relations:
        Catalogue:
          local: catalogue_id
          foreign: id
          foreignAlias: Gammes
          # et un attribut que j'ai oublié pour lui préciser que c'est une relation 1-n
    nb : je n'ai pas pris en compte ton :
    Après pour la marque et la catégorie un objet de la table catalogue ne peut pas appartenir à plusieurs marque ou catégorie du coup j'ai pas de jointure.
    car je n'ai pas bien compris la portée de cette phrase.


    Après ça, lorsque tu auras fait ton doctrine:build --all, tu pourras remarquer que dans ta classe BaseCatalogue.class.php, tu as des accesseurs liés à tes relations :
    - getFamille() ;
    - getMarque() ;
    - getGammes().

    Pour ce qui est de l'id 269, ce n'est pas un id que je récupère c'est juste que dans la table catégorie j'ai plusieurs catégories et sous catgéories. sauf que je ne veux afficher que les catégorie première et elles sont reconnaissables dans ma table parce qu'elles ont un id_parent = 269
    Une catégorie parente ne devrait-elle pas avec un parent_id == null ?
    En tout cas, d'où vient cette valeur précise 269 ? C'est bien l'id de ta catégorie dans ta table ? Auquel cas, cet id doit être retrouvé par une requête, et pas donné en dur.

    Pour respecter le modele MVC, il serait mieux que je fasse ainsi:
    Oui, les requêtes doivent disparaître de ton contrôleur et atterrir dans ton objetTable.class.php. Ce que tu peux faire dans ton contrôleur : des appels à tes méthodes de table.
    Par contre, ta méthode getInstance ne doit pas être touchée. Il faut que tu créés d'autres méthodes. Et tes méthodes doivent faire chacune un boulot bien précis. Ici, tu fais beaucoup trop de choses dans une seule méthode. Commente tes méthodes avec des :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /**
     * @desc Description de ta méthode
     * @param string $param_str Description
     * @param integer $param_int Description
     * @return Doctrine_Collection 
     */
    ça te permettra de mieux fixer l'unicité de ta méthode.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Par défaut
    Voila c'est tout a fait ca. Ce que tu as oublié c'est:
    type: one
    et
    type: many
    Voila ce que j'ai fait:
    actions.class.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
      public function executeIndex(sfWebRequest $request)
      {
        $this->ChoixMarques = Doctrine::getTable('Marque')
            ->createQuery('a')
            ->orderBy('constructeur')
            ->execute();
     
        $this->ChoixGammes = Doctrine::getTable('Gammes')
            ->createQuery('b')
            ->orderBy('Intitule')
            ->execute();
     
        $this->ChoixCategories = Doctrine::getTable('Categorie')
             ->createQuery('c')
             ->select()
             ->where('c.id_parent = 269')
             ->orderBy('c.famille')
             ->execute();
     
        if($request->getParameter('marques') && $request->getParameter('categories') && $request->getParameter('gammes') && $request->getParameter('subbmit'))
        {
            $marque = $request->getParameter('marques');
            $categorie = $request->getParameter('categories');
            $gamme = $request->getParameter('gammes');
            $submit = $request->getParameter('submit');
     
            $this->catalogue->getRechercheInitiee();
        }
      }
    et CatalogueTable.class.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     class CatalogueTable extends Doctrine_Table
    {
     
        public static function getInstance()
        {
            return Doctrine_Core::getTable('Catalogue');
        }
     
        public function getMarques()
        {
            if ($marque == 'Tous')
            {
                $requete_marque = 'd.index_marque LIKE "%"';
            }
            else
            {
                $requete_marque = 'd.index_marque = '.$request->getParameter('marques');
            }
     
            return $requete_marque;    
        }
     
        public function getCategories()
        {
            if ($categorie == 'Tous')
            {
                $requete_categorie = 'd.index_famille LIKE "%"';
            }
            else
            {
                $requete_categorie = 'd.index_famille = '.$request->getParameter('categories');
            }
     
            return $requete_categorie;
        }
     
        public function getGammes()
        {
            if ($gamme == 'Tous')
            {
                $requete_gamme = 'd.index_gamme LIKE "%"';
            }
            else
            {
                $requete_gamme = 'd.index_gamme = '.$request->getParameter('gammes');
            }
     
            return $requete_gamme;
        }
     
        public function getRechercheResultats()
        {
            $catalogue_requete = Doctrine::getTable('Catalogue')
                  ->createQuery('d')
                  ->select()
                  ->leftJoin('d.JointuresGammes e')
                  ->where($this->getMarques())
                  ->andWhere($this->getCategories())
                  ->andWhere($this->getGammes());
     
            return $categorie_requete;
        }
     
        public function getPaginationRecherche()
        {
            $this->pager = new sfDoctrinePager('Catalogue', 10);
            $this->pager->getQuery($this->getRechercheResultats());
            $this->pager->setPage($this->getRequestParameter('page',1));
            $this->pager->init();
        }
     
        public function getRechercheInitiee()
        {
            if($marque == 'Tous' && $gamme == 'Tous' && $categorie == 'Tous')
            {
            }
            else
            {
                return $this->getPaginationRecherche();
            }
        }
     
    }
    Est-ce bon ou pas?

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Oublions cette histoire de parent_id dans un premier temps. Cela pourra être ajouté par la suite.
    Egalement, oublions le orderBy pour la même raison (et en plus l'admin-generator le gère très bien tout seul aussi).

    Dans ton executeIndex, de quoi veux-tu faire la liste ? A priori, celle des catégories (si je me trompe, il suffit d'adapter).

    Du coup, les objets que tu veux peuvent être récupérés simplement par un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      public function executeIndex(sfWebRequest $request)
      {
        $this->catalogues = Doctrine_Core::getTable('Catalogue')->findAll();
      }
    Dans ton template, tu auras quelque chose de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php foreach($catalogues as $catalogue): ?>
      <?php echo $catalogue->getName() ?>
      <?php echo $catalogue->getFamille() ?>
      <?php echo $catalogue->getMarque() ?>
      <?php echo $catalogue->getGamme() ?>
    <?php endforeach; ?>
    Pour CatalogueTable.class.php, c'est un début. Cependant, pour chaque méthode, il faut que tu penses à :
    - ce qu'elle fait (--> renseigner les champs @desc et @return) ;
    - sur quelle table elle doit s'appliquer (dans quelle ***Table.class.php doit-elle être) ;
    - quels paramètres nécessite-t-elle pour fonctionner (--> renseigner @param).
    Si tu mets tout au même endroit sans te poser de question, ça deviendra vite le souk.

    getPaginationRecherche et getRechercheInitiee ne sont pas des méthodes qui accèdent à ta DB. Elles n'ont rien à faire ici. Elles étaient mieux dans ton actions.class (pagination : c'est affaire de contrôleur). GetRechercheInitiee, je ne vois pas très bien l'intérêt de la méthode.


    De manière générale, vu que tu prends en main le framework, un petit investissement en temps serait intéressant en faisant le tutorial officiel de Symfony :
    Jobeet
    Je te le conseille vivement, au risque sinon de prendre de très mauvaises habitudes et de te retrouver avec un projet non-maintenable.

Discussions similaires

  1. comment utiliser "Distinct" pour une requete mysql
    Par Emilie012 dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/10/2008, 21h03
  2. Réponses: 13
    Dernier message: 18/03/2008, 15h17
  3. [MASM] Utiliser un .IF pour une comparaison de nombre signés
    Par Crisanar dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 24/11/2004, 16h32
  4. Aide pour une requete ... "COUNT(*)"
    Par mechantebestiole dans le forum Langage SQL
    Réponses: 13
    Dernier message: 25/05/2004, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo