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

Laravel PHP Discussion :

Tri et paginate [4.2]


Sujet :

Laravel PHP

  1. #1
    Membre averti
    Femme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2014
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comt�)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Par d�faut Tri et paginate
    Bonjour,

    Je suis en train de faire un syst�me de tri par diff�rents crit�res pour des pages produits (+ haut pris, + bas prix, derniers ajouts), et comme je n'affiche que 12 �l�ments par page, je me sers de ce magnifique outils de laravel qu'est Paginate.

    Donc : voici le select qui me permet de faire le choix pour la m�thode de tri :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    {{ Form::open(array('url' => 'cat/'.$categ->lienCat.'/tri', 'method'=>'get')) }}
                        <select onchange='this.form.submit()' name='tri'>
                            <option value=0>--Sélectionnez un critère--</option>
                            <option value=1>Prix croissants</option>
                            <option value=2>Prix décroissants</option>
                            <option value=3>Derniers ajouts</options>
                        </select>
                        {{Form::close()}}
    Ma route :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Route::get('cat/{slug}/tri', 'CategController@triCateg');
    Ma fonction :

    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
    public function triCateg($slug)
        {
            $categ=Categorie::where('lienCat', '=', $slug)->first();
     
            $subcat = $categ->categs;
     
            switch (Input::get('tri'))
            {
                case 1:
                    $prod=$categ->prods()->where('afficher','=','1')->orderBy('prixref', 'asc')->paginate(12);
                    break;
                case 2:
                    $prod=$categ->prods()->where('afficher','=','1')->orderBy('prixref', 'desc')->paginate(12);
                    break;
                case 3:
                    $prod=$categ->prods()->where('afficher','=','1')->orderBy('id', 'desc')->paginate(12);
                    break;
                case 0:
                    $prod=$categ->prods()->where('afficher','=','1')->paginate(12);
                    break;
            }
     
            $title = $categ->nom_cat;
            // foreach($categ->prods as $p){
                    // $prod->add($p);
                // }
            //
            // $prod->paginate(12);
            if($categ->rid_cat==0){
                return View::make('categ/categ')->with('categ', $categ)->with('prod', $prod)->with('subcat', $subcat)->with('title', $title);
            }
            else{
                return View::make('categ/subcateg')->with('categ', $categ)->with('prod', $prod)->with('subcat', $subcat)->with('title', $title);
            }
        }
    Le soucis, c'est que le tri marche magnifiquement bien pour la premi�re page, mais d�s que je passe sur la page 2, �a m'envoie en enfer. Ca doit sans doute avoir � faire avec le GET, mais je ne vois pas comment faire. Si vous avez une id�e, je suis preneuse.

    Merci d'avoir pris le temps de lire, et encore un plus grand merci si vous parvenez � m'aiguiller sur une solution

    EDIT : Voici l'URL quand je choisis mon crit�re de tri :
    /cat/$slug/tri?tri=1
    Et l'URL quand je change de page :
    /cat/$slug/tri?page=2
    Donc la page 2 fait sauter le crit�re de tri vu que c'est en GET... Une id�e pour que je le garde ?

  2. #2
    Membre averti
    Femme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2014
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comt�)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Par d�faut
    Bon bah c'est bon, j'ai trouv� la solution.
    Donc, sur ma page o� tout �tait affich�, il fallait que je mette :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    {{$prod->appends(array('tri' => Input::get('tri')))->links();}}
    Ca marche parfaitement bien, et je pourrai le faire �voluer � l'avenir.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [DisplayTag] Tri et pagination ne font pas bon m�nage
    Par tiboudchou dans le forum Taglibs
    R�ponses: 4
    Dernier message: 31/03/2010, 12h22
  2. Gridview tri et pagination
    Par Ya7yaKech dans le forum ASP.NET
    R�ponses: 2
    Dernier message: 17/05/2009, 19h06
  3. Tri et pagination
    Par Whombat dans le forum Langage
    R�ponses: 4
    Dernier message: 01/02/2009, 04h48
  4. Tri et pagination myFaces
    Par maloups dans le forum JSF
    R�ponses: 13
    Dernier message: 29/06/2007, 11h44
  5. Tri et pagination du datagrid qui ne marche pas
    Par paradeofphp dans le forum ASP.NET
    R�ponses: 2
    Dernier message: 30/05/2007, 17h00

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