Ich verwende Datatables in einer Website, um MySQL-Datensätze anzuzeigen. Mein Problem ist, dass beim ersten Laden der Seite, die Datensätze nicht wie erwartet von der Abfrage angezeigt werden. Hier können Sie die Abfrage haben, ‚vigencia‘ ist ein Feld vom Typ Datum und die Aufzeichnungen werden durch absteigend Datum ‚vigencia‘ nicht sortiert:Daten nicht sortiert mit Datatables
// Execute job
if ($job == 'get_companies'){
// Get companies
$query = "SELECT * FROM tb_documentos LEFT JOIN tbl_uploads ON tb_documentos.id_doc = tbl_uploads.doc ORDER BY vigencia DESC";
$query = mysqli_query($db_connection, $query);
if (!$query){
$result = 'error';
$message = 'query error';
} else {
$result = 'success';
$message = 'query success';
while ($company = mysqli_fetch_array($query)){
$imagen = "<a href='uploads/uploads/".$company['file']."''><img src='uploads/uploads/".$company['file']."' width='80' height='60'>";
$mysql_data[] = array(
"numero_identificador" => $company['numero_identificador'],
"serie" => $company['serie'],
"numero_documento" => $company['numero_documento'],
"tipo_documento" => $company['tipo_documento'],
"vigencia" => $company['vigencia'],
"archivo" => $imagen
);
}
}
Und hier der JS-Code:
// On page load: datatable
var table_companies = $('#table_companies').dataTable({
"ajax": "data_vencimientos.php?job=get_companies",
"columns": [
{ "data": "numero_identificador" },
{ "data": "serie" },
{ "data": "numero_documento" },
{ "data": "tipo_documento" },
{ "data": "vigencia", },
{ "data": "archivo" }
],
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [-1] }
],
"lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
"oLanguage": {
"oPaginate": {
"sFirst": " ",
"sPrevious": " ",
"sNext": " ",
"sLast": " ",
},
"sLengthMenu": "Documentos por pagina: _MENU_",
"sInfo": "Total de _TOTAL_ documentos (mostrando del _START_ al _END_)",
"sInfoFiltered": "(filtrados _MAX_ documentos)"
}
});
Nach dem ersten Laden der Seite kann ich die Datensätze korrekt sortieren, indem ich auf den Spaltenüberschriftenkopf klicke.
Was soll ich ändern, um die Datensätze nach 'Vigencia' sortiert anzeigen zu lassen (Datumsfeld vom Typ YYYY-m-d, ex. 2016-08-12)?