Page 1 sur 1

datatable serverside ne filtre pas

Posté : 16 juin 2022, 14:43
par mije69
Bonjour,

j'ai un tableau (datatable) il récupère les données sur une base de donné, tous fonctionne correctement.
Seulement il m'affiche la totalité de mes données et ne filtre pas par 10 ou 25 ou 50....
si je demande 10 il m'affiche mes 25 ligne sur une page.
je pense que cela viens de mon "fetch" car il me renvoie la totalité:

Code : Tout sélectionner

{draw: 1, recordsTotal: 22, recordsFiltered: 22,…} data: [["1 001 6325", "dossier test", "Japell", "1850", "24-06-2022",…],…] draw: 1 recordsFiltered: 22 recordsTotal: 22

mais je ne vois pas comment faire j'ai regarder la doc sur datatables mais je ne vois toujours pas comment faire.
voici mon fichier fetch:
<?php
include('db.php');
include('functions.php');
$tab_results = get_all_Posts();
$results = $tab_results['results'];
$recordsTotal = $tab_results['count'];
$filtered_rows = $recordsTotal;

if (isset($_POST["search"]["value"])) {
$searched_value = $_POST["search"]["value"];
$tab = get_all_Posts($searched_value);
$results = $tab['results'];
$filtered_rows = $tab['count'];
}

error_log(print_r($results, true));

$data = array();
if (count($results) > 0) {
foreach ($results as $p) {
$sub_array = array();
$sub_array[] = $p['ndossier'];
$sub_array[] = $p['titre'];
$sub_array[] = $p['transporteur'];
$sub_array[] = $p['tirage'];
$sub_array[] = date('d-m-Y', strtotime($p['enlevement']));;
// date('d-m-Y', strtotime($p['enlevement']));
// $sub_array[]=$span;


$btn_update = '<button id="' . $p['idPost'] . '" title="mettre à jour" name="update" class="btn btn-link btn-warning btn-just-icon edit"><i class="material-icons" class="update" >update</i></button>';
$btn_delete = '<button id="' . $p['idPost'] . '" title="supprimer" name="delete" class="btn btn-link btn-danger btn-just-icon delete"><i class="material-icons" class="delete" >close</i></button>';
$btn_print = '<button id="' . $p['idPost'] . '" title="bon de livraison" name="print" class="btn btn-link btn-success btn-just-icon print"><i class="material-icons" class="print" >print</i></button>';
$btn_file = '<button id="' . $p['idPost'] . '" title="dossier de fabrication" name="file" class="btn btn-link btn-info btn-just-icon file"><i class="material-icons" class="file" >picture_as_pdf</i></button>';
$sub_array[] = $btn_update . $btn_delete .$btn_print .$btn_file;

$data[] = $sub_array;
}
}

$output = array(
"draw" => (isset($_POST["draw"])) ? intval($_POST["draw"]) : 0,
"recordsTotal" => $recordsTotal,
"recordsFiltered" => $filtered_rows,
"data" => $data
);
echo json_encode($output);

Re: datatable serverside ne filtre pas

Posté : 16 juin 2022, 14:55
par or 1
si je demande 10 il m'affiche mes 25 ligne sur une page.
où voit-on dans ce code qu'il est demandé 10 résultats seulement ?

Re: datatable serverside ne filtre pas

Posté : 17 juin 2022, 08:07
par mije69
Sur les datatables il y a un filtre comme ceci
Image
j'ai bien compris que en serverside ça ne ce fais plus automatiquement.
mais je ne vois pas comment le faire. #-o