Pagination Ajax cakePHP 3.0
Bonjour,
J'ai réalisé un filtre de recherche à partir duquel un utilisateur, à l'aide de menus déroulants, choisit les valeurs qu'ils souhaitent rechercher. Sans recharger la page je désire afficher les résultats dans un tableau en bas de cette page avec la fameuse pagination !
Je vous explique, dans une vue A, j'ai un filtre de recherche où l'utilisateur saisi les éléments sur lesquelles ils désirent faire sa recherche. Dans cette même vue je réalise donc un appel Ajax qui va me rediriger vers l'action 'index' de mon controller "AController" avec comme données les valeurs des filtres de recherches saisis.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
var tab = new Array();
function updateResult(){
$.ajax({
type:"POST",
url:"<?php echo Router::url(array('controller'=>'AController','action'=>'index'));?>",
data : {dataFVariables: $("select[name='filtreVariable\\[\\]']").map(function(){return $(this).val();}).get()},
dataType: 'json',
async:false,
success: function(tab){
..........
// Création d'un tableau avec les données de tab retournées par index
..........
},
error: function (tab) {
alert('error');
}
});
} |
Dans l'index de mon controller, j'ai un appel à la base de données d'où je récupère un grand nombre de résultats.
A partir de ces résultats je crée un tableau (dans le success de l'appel Ajax) mais ce dernier n'est pas paginé.. En effet si dans mon controller je fais :
Code:
1 2 3 4 5 6
|
.............
$this->paginate($query);
// On encode le tableau en json qui est retourné à l'appel Ajax
echo json_encode($query); |
Les résultats, dans mon tableau, seront bien présents dans la première page mais absents des pages suivantes, comment faire en sorte que la pagination fonctionne avec l'appel Ajax ?
Merci beaucoup !! :)