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
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
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); } }
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.
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 ; }
Cordialement
Partager