datatable serverside ne filtre pas
Posté : 16 juin 2022, 14:43
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é:
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:
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: 22mais 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);
