Bonjour à tous,
J'utilise Datatables pour afficher des données. Je souhaite paginer mes résultats.
J'utilise Datatables configuré comme suit :
et mon script PHP est :
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 <script type="text/javascript" charset="utf-8"> $(document).ready(function() { $('#menuTable').dataTable( { "sAjaxSource": 'getBDD.php', "bJQueryUI": true, "bProcessing": true, "bServerSide": true, "bPaginate": true, "sPaginationType": "full_numbers", "oLanguage": { "sUrl": "js/fr_FR.txt" } } ); }); </script>
Lorsque je charge la page pour la première fois, les données sont bien récupérées et affichées par datatables.
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 <?php /* SQLite connection */ $dbh = new PDO('sqlite:GED.sqlite'); $NB_DOC = 221; $NB_RES = intval($_REQUEST['iDisplayLength']); $offset = intval($_REQUEST['iDisplayStart']); $parameters = array(); // requete insert avec id = $_REQUEST['id'] $dbh = new PDO('sqlite:GED.sqlite'); $sql = "SELECT * FROM document LIMIT $offset, $NB_RES"; $sth = $dbh->prepare($sql); $sth->execute( $parameters ); echo "{","\n"; echo "\"sEcho\":1,","\n"; echo "\"iTotalRecords\": $NB_DOC,","\n"; echo "\"iTotalDisplayRecords\": $NB_DOC,","\n"; echo "\"bProcessing\":true,","\n"; echo "\"sPaginationType\":\"full_numbers\",","\n"; echo "\"aaData\":[","\n"; $isFirstRow = true; foreach($sth as $data) { if(!$isFirstRow) echo ",\n"; else $isFirstRow = false; echo "\t","[\"{$data['id']}\",\"", utf8_encode ($data['name']), "\",\"", utf8_encode($data['keyword']), "\"]"; } echo "\n],","\n"; echo "\"aoColumns\":[","\n"; echo "\t","{\"sTitle\":\"ID\"},","\n"; echo "\t","{\"sTitle\":\"Nom Fichier\"},","\n"; echo "\t","{\"sTitle\":\"Chemin\"}","\n"; echo "]","\n"; echo "}","\n"; ?>
Par contre, lorsque je change de page, datatables reste bloqué en "Traitement en cours...". Pourtant, lorsque j'inspecte les trames réseau via firebug (ou autre), je voit que les bonnes données sont remontées, elles ne sont simplement pas affichées par datatables.
Est-ce qu'il me manque une option dans la configuration de datatables pour que ça foncitonne correctement ?
Cordialement
La Recrue
Partager