Sorting date dd/mm/yyyy
Sorting date dd/mm/yyyy
Hello,
I need help for sorting date format dd/mm/yyyy.
I use this code :
[code]
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"date-uk-pre": function ( a ) {
var ukDatea = a.split('/');
return (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
},
"date-uk-asc": function ( a, b ) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"date-uk-desc": function ( a, b ) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
} );
$("#dataTablePilotage").dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "include/pilotage_onglet.php?page="+ PageView +"&bdd="+ BddView +"&tabs="+ TabsView +"&niveau="+ IaView,
"fnServerData": function (sSource, aoData, fnCallback) {
$.getJSON(sSource, aoData, function (json) {
fnCallback(json);
$(".numberTotal").text(json.iTotalRecords);
$(".numberTotalRestant").text(json.iTotalRestant);
$(".UpdateListe").text(json.UpdateDate + " à " + json.UpdateHour);
// Pour la mise à jour des listes
$("#ListeUpdateSelect").attr("onclick", "updateNameListe('liste','"+json.TypeDossier+"','','curl_export_liste');");
if(json.TypeDossier == 'M018') {
$(".OngletReception").html("Intervention");
$(".col_10_filter").attr("placeholder", "Intervention");
} else {
$(".OngletReception").html("Réception");
$(".col_10_filter").attr("placeholder", "Réception");
}
});
},
"sScrollY": "800px", // Taille du Tbody avec le contenu des données
"bScrollCollapse": true, // Active le redimensionnement de la hauteur
"bStateSave": true, // Active le stockage des différentes actions en cookies
"bSort": true, // Active le tri par colonne
"bFilter": true, // Recherche dans tous le tableau
"bJQueryUI": true, // Désactive le thème jQuery
"bInfo": false, // Information sur le nombre de page et page en cours
"bLengthChange": false, // Désactive le choix du nombre de message par page
"iDisplayLength": 20, // Nombre de ligne par page
"bPaginate": true, // Active le système de pagination
"sPaginationType": "full_numbers", // Affiche le numéro des pages
"oLanguage": {
"sSearch": "Rechercher :",
"sZeroRecords": " ",
"sEmptyTable": " ",
"sProcessing": " Chargement
",
"oPaginate": {
"sFirst": "",
"sLast": "",
"sPrevious": "",
"sNext": ""
}
},
"aoColumns": [null,null,{"bSortable": false},null,null,null,{"bSortable": false},{"bSortable": false},{ "bSortable": false },{"sType": "date-uk"},{"bSortable": false}],
"aaSorting": [[ 1, "asc" ], [ 9, "asc" ]],
"bDestroy": true
});
[/code]
But i don't understand why doesn't work.
Sorry for my english, i'm french and i speak rarely this language. :)
Show my erreur :
http://helrod.rd-h.fr/erreur.jpg
I need help for sorting date format dd/mm/yyyy.
I use this code :
[code]
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"date-uk-pre": function ( a ) {
var ukDatea = a.split('/');
return (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
},
"date-uk-asc": function ( a, b ) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"date-uk-desc": function ( a, b ) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
} );
$("#dataTablePilotage").dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "include/pilotage_onglet.php?page="+ PageView +"&bdd="+ BddView +"&tabs="+ TabsView +"&niveau="+ IaView,
"fnServerData": function (sSource, aoData, fnCallback) {
$.getJSON(sSource, aoData, function (json) {
fnCallback(json);
$(".numberTotal").text(json.iTotalRecords);
$(".numberTotalRestant").text(json.iTotalRestant);
$(".UpdateListe").text(json.UpdateDate + " à " + json.UpdateHour);
// Pour la mise à jour des listes
$("#ListeUpdateSelect").attr("onclick", "updateNameListe('liste','"+json.TypeDossier+"','','curl_export_liste');");
if(json.TypeDossier == 'M018') {
$(".OngletReception").html("Intervention");
$(".col_10_filter").attr("placeholder", "Intervention");
} else {
$(".OngletReception").html("Réception");
$(".col_10_filter").attr("placeholder", "Réception");
}
});
},
"sScrollY": "800px", // Taille du Tbody avec le contenu des données
"bScrollCollapse": true, // Active le redimensionnement de la hauteur
"bStateSave": true, // Active le stockage des différentes actions en cookies
"bSort": true, // Active le tri par colonne
"bFilter": true, // Recherche dans tous le tableau
"bJQueryUI": true, // Désactive le thème jQuery
"bInfo": false, // Information sur le nombre de page et page en cours
"bLengthChange": false, // Désactive le choix du nombre de message par page
"iDisplayLength": 20, // Nombre de ligne par page
"bPaginate": true, // Active le système de pagination
"sPaginationType": "full_numbers", // Affiche le numéro des pages
"oLanguage": {
"sSearch": "Rechercher :",
"sZeroRecords": " ",
"sEmptyTable": " ",
"sProcessing": " Chargement
",
"oPaginate": {
"sFirst": "",
"sLast": "",
"sPrevious": "",
"sNext": ""
}
},
"aoColumns": [null,null,{"bSortable": false},null,null,null,{"bSortable": false},{"bSortable": false},{ "bSortable": false },{"sType": "date-uk"},{"bSortable": false}],
"aaSorting": [[ 1, "asc" ], [ 9, "asc" ]],
"bDestroy": true
});
[/code]
But i don't understand why doesn't work.
Sorry for my english, i'm french and i speak rarely this language. :)
Show my erreur :
http://helrod.rd-h.fr/erreur.jpg
This discussion has been closed.
Replies
No idea ?
I found an alternative code :
[code]
for($i=0; $i<intval($GET['iSortingCols']); $i++) {
if($_GET['bSortable'.intval($GET['iSortCol'.$i])] == true) {
if($aColumns[intval($GET['iSortCol'.$i])] == 'date_reception') {
if($typeDossier == 'M018') {
$sOrder .= 'STR_TO_DATE(date_intervention,\'%d/%m/%Y\') '.$GET['sSortDir'.$i].', ';
} else {
$sOrder .= 'STR_TO_DATE(date_reception,\'%d/%m/%Y\') '.$GET['sSortDir'.$i].', ';
}
} else {
$sOrder .= $aColumns[intval($GET['iSortCol'.$i])].' '.$GET['sSortDir'.$i].', ';
}
}
}
[/code]
With STR_TO_DATE(date,'%d/%m/%Y) my sorting works well.
I'm using the server side method.