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

MkFramework Discussion :

Pagination et recherche


Sujet :

MkFramework

  1. #1
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut Pagination et recherche
    Bonjour,

    Je voudrais savoir comment m'y prendre pour afficher le résultat d'une recherche avec une pagination. je m'explique, j'ai un champ de recherche qui attaque un module de recherche comme ceci :
    Le contrôleur main
    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
     
    ...
    public function _rechercher(){
    		/************************************************************************/
    		// voir le tuto https://www.youtube.com/watch?v=tZPRlhXc-iw&list=UU4Od4-GF1zgCEQodrlDE_lg&index=1
     
    		$sRecherche =_root::getParam("sRecherche",null) ;
    		$sFenetre_id = _root::getParam("sFenetre_id", null) ;
        if($sRecherche == null AND $sFenetre_id == null)
        _root::redirect('mk_srdm::list');
        else
        {
          $tmk_mfp=model_mk_mfp::getInstance()->findListeWithSearch($sRecherche);      
          $iTotalMfp = model_mk_mfp::getInstance()->getTotalMfp() ; // recupere le nombre de resulat
     
     
      		$oView=new _view('mk_mfp::list',array('sFenetre_id'=>$sFenetre_id));
      		$oView->tmk_mfp=$tmk_mfp ; // assigne les mfp à la vue	
      		$oView->iTotalMfp = $iTotalMfp ; // assigne le nombre de resulat à la vue
     
      		    $oView->tJoinmodel_mk_mfpmodele_tosh=model_mk_mfpmodele_tosh::getInstance()->getSelect();  		
     
      		$oModulePagination=new module_pagination;
      		$oModulePagination->setModuleAction('mk_mfp::list', array('sFenetre_id'=>$sFenetre_id));
      		$oModulePagination->setParamPage('page');
      		$oModulePagination->setLimit(10);
      		$oModulePagination->setPage( _root::getParam('page') );
      		$oModulePagination->setTab( $tmk_mfp );
     
      		$oView->tMk_srdm=$oModulePagination->getPageElement();
     
      		$this->oLayout->add('main',$oView);
     
     
      		$oViewPagination=$oModulePagination->build();
     
      		$this->oLayout->add('main',$oViewPagination);
    	  }
    	}
    le modèle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public function findListeWithSearch($sSearch){
        $tResult = $this->findMany('SELECT * FROM mk_mfp WHERE num_serie LIKE :search'
        .' OR societe LIKE :search', array('search'=>'%'.$sSearch.'%'));
        if(count($tResult) > 0)
        {
          $this->iTotal = count($tResult) ;
        } 
        else $this->iTotal = 0 ;
     
        return $tResult ;
    	}
    Je ne vois pas où dois-je faire référence dans la partie pagination pour relancer mon module _rechercher(), lorsque je clique sur la deuxième page de résultats. Quand je clique sur cette deuxième page, je retourne sur la recherche globale findAll() du modèle.
    Cordialement

  2. #2
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Bonjour,
    Comment gérer vous votre pagination ?

    Si c'est avec le module tableau, il faut ajouter dans votre vue:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $oTable->setRootLink('mk_mfp::list',array('sRecherche' => _root::getParam("sRecherche")) );
    Pour indiquer le lien "racine" qui sera utilisé pour construire les liens de pages
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Là, je ne vois pas où je peux placer cette fonction setRootLink, car le module pagination est une boite noire pour moi,
    je comprends le 1/3 des fonctions qui la composent, donc si tu peux me prendre la main sur ce coup, j'en serai ravi, j'utilise ce qui est généré par défaut par le Builder

    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
     
    public function _list(){
     
    		$tMk_mfp=model_mk_mfp::getInstance()->findAll(); // on renseigne en meme temps le nombre de resultat
    		$iTotalMfp = model_mk_mfp::getInstance()->getTotalMfp() ;
     
    		$oView=new _view('mk_mfp::list', array('sFenetre_id'=>'sFenetre_mfptoshiba'));
    		$oView->tMk_mfp=$tMk_mfp;
    		$oView->iTotalMfp = $iTotalMfp ;
     
    				$oView->tJoinmodel_mk_mfpmodele_tosh=model_mk_mfpmodele_tosh::getInstance()->getSelect();
     
    		$oModulePagination=new module_pagination;
    		$oModulePagination->setModuleAction('mk_mfp::list');
    		$oModulePagination->setParamPage('page');
    		$oModulePagination->setLimit(20);
    		$oModulePagination->setPage( _root::getParam('page') );
    		$oModulePagination->setTab( $tMk_mfp );
     
     
     
    		$oView->tMk_mfp=$oModulePagination->getPageElement();
     
        $this->oLayout->add('main',$oView);
     
        $oViewPagination=$oModulePagination->build();
     
    		$this->oLayout->add('main',$oViewPagination);
     
    	}
    Cordialement.

  4. #4
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    il vous utiliser ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $oModulePagination->setParam(array('otot'=> 2,'aa'=> 22));
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Bonjour,
    J'ai cette erreur de méthode inexistante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Call to undefined method module_pagination::setRootLink()
    Cordialement

  6. #6
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    J'avais répondu un peu vite:

    il vous faut utiliser ici:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $oModulePagination->setParam(array('sRecherche' => _root::getParam("sRecherche"));
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Bonjour,
    Voici comment j'attaque ma méthode rechercher

    public/index.php?:nav=mk_mfp::rechercher&sFenetre_id=sFenetre_mfptoshiba&sRecherche=cssm


    or les liens qui sont générés dans la pagination sont
    public/index.php?:nav=mk_mfp::list&page=2

    du coup je retombe dans la recherche générale.
    Voici ci-dessous le code que j'ai modifié, je n'ai pas peut-être remplacé ce qu'il faut.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ...
    $oModulePagination=new module_pagination;
    //$oModulePagination->setRootLink('mk_mfp::list',array('sRecherche' => _root::getParam("sRecherche")) );
    $oModulePagination->setModuleAction('mk_mfp::list');
    $oModulePagination->setParam(array('sRecherche' =>_root::getParam("sRecherche")));
    //$oModulePagination->setParamPage('page');
    $oModulePagination->setLimit(20);
    $oModulePagination->setPage( _root::getParam('page') );
    $oModulePagination->setTab( $tMk_mfp );
    ...
    Cordialement

  8. #8
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ...
    $oModulePagination=new module_pagination;
    //$oModulePagination->setRootLink('mk_mfp::list',array('sRecherche' => _root::getParam("sRecherche")) );
    $oModulePagination->setModuleAction('mk_mfp::rechercher');
    $oModulePagination->setParam(array('sRecherche' =>_root::getParam("sRecherche")));
    //$oModulePagination->setParamPage('page');
    $oModulePagination->setLimit(20);
    $oModulePagination->setPage( _root::getParam('page') );
    $oModulePagination->setTab( $tMk_mfp );
    ...
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  9. #9
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    C'était
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $oModulePagination->setModuleAction('mk_mfp::rechercher');
    qui était mal renseigné
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  10. #10
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    C'est parfait, tu es vraiment génial, je développement une petite application à usage professionnel et fonctionnant en intranet, mais franchement
    dis-moi comment trouver un petit logo à insérer sur mon site afin de promouvoir ce produit qui est tout simplement énorme.
    Avec le peu de temps que je dispose pour m'adonner à la programmation et vu mon modeste niveau, j'ai l'impression
    d'être un génie de la programmation quand j'utilise Mkframework.

    Merci encore pour ta disponibilité.

    Cordialement

  11. #11
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Merci d'utiliser le mkframework, c'est grâce à des personnes comme vous qui donnez une chance à ce framework qu'il gagne en maturité et ne cesse de s'améliorer

    Si vous souhaitez me faire un peu de publicité, un simple lien vers le site du framework: http://mkframework.com/

    Je vous donne si besoin le logo: en deux tailles, mais un simple lien suffirait
    Images attachées Images attachées   
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Je rejoins les dires de hadeslabs, ce FrameWork fait gagner un temps fou !! Je fais de ce pas ajouter le logo/lien à mon appli. professionnelle. C'est la moindre des choses

  13. #13
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Vous pouvez poster le lien de celle-ci , toujours curieux de voir des projets développé à partir du framework
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] moteur recherche multi pagination suivant recherche
    Par speedylol dans le forum PHP & Base de données
    Réponses: 51
    Dernier message: 13/01/2017, 10h51
  2. Pagination et recherche
    Par Brian35 dans le forum Langage
    Réponses: 39
    Dernier message: 25/05/2012, 13h12
  3. Gridview : recherche de ligne et pagination
    Par gefcookie dans le forum ASP.NET
    Réponses: 4
    Dernier message: 10/04/2007, 18h24
  4. Recherche multi-critères, jointure et pagination
    Par baptistoux dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 06/02/2007, 14h05
  5. Formulaire de recherche et pagination
    Par jarod71 dans le forum Langage
    Réponses: 1
    Dernier message: 24/01/2007, 08h24

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