2016-06-21 9 views
0

ich versuche, curl Daten zu jquery Datentabelle (wie dieses https://datatables.net/examples/api/row_details.html),Kann jquery datables nicht mit php json_encode anzeigen?

Hier die response.php ist

echo json_encode($results); 

die json_encode Ausgabe:

{ 
"hittotal":69511, 
"data":[ 
    { 
     "....." 
     },..... 
    ] 
} 


HTML-Tabelle und Javascript in meiner Webseite (datatables.php):

<script> 
function format (d) { 
// `d` is the original data object for the row 
return '<table cellpadding="3" cellspacing="0" border="0" style="padding-left:50px;">'+ 
    '<tr>'+ 
     '<td>message:</td>'+ 
     '<td>'+(d.message)+'</td>'+ 
    '</tr>'+ 
    '<tr>'+ 
     '<td>id:</td>'+ 
     '<td>'+d.id+'</td>'+ 
    '</tr>'+ 

'</table>'; 
} 

$(document).ready(function() { 
var table = $('#example').DataTable({ 

    "ajax": { 
    'type': 'POST', 
    'url': 'response.php', 
    'data': { 
     from: '<? echo $from; ?>', 
     to: '<? echo $to; ?>' 

    }, 
    "columns": [ 
     { 
      "className":  'details-control', 
      "orderable":  false, 
      "data":   null, 
      "defaultContent": '' 
     }, 
     { "data": "datetime" }, 
     { "data": "message" }, 

    ], 
    "order": [[1, 'asc']] 
}); 

// Add event listener for opening and closing details 
$('#example tbody').on('click', 'td.details-control', function() { 
    var tr = $(this).closest('tr'); 
    var row = table.row(tr); 

    if (row.child.isShown()) { 
     // This row is already open - close it 
     row.child.hide(); 
     tr.removeClass('shown'); 
    } 
    else { 
     // Open this row 
     row.child(format(row.data())).show(); 
     tr.addClass('shown'); 
    } 
    }); 
}); 
</script> 

html:

<table id="example" class="display" cellspacing="0" width="100%"> 
    <thead> 
     <tr> 
      <th></th> 
      <th>datetime</th> 
      <th>message</th> 

     </tr> 
    </thead> 
    <tfoot> 
     <tr> 
      <th></th> 
      <th>datetime</th> 
      <th>message</th> 

     </tr> 
    </tfoot> 
</table> 

ich bin sicher, dass echo json_encode ($ results) nicht leer ist, aber warum nicht in Datentabellen dargestellt?

+0

Ich sehe, Sie verwenden Datenblätter. Verwenden Sie tatsächlich das Paket jquery datatables? –

+0

ja, ich benutze jquery datatables Paket – user6065185

+0

ein paar Notizen. Ich habe festgestellt, dass Sie $ ('# Beispiel') verwenden. DataTable() ;, aber ich sehe nicht, wo Sie die Tabelle ID = 'Beispiel' nennen, dies würde bedeuten, dass das Datatable-Paket keine Ahnung hat, wo es sich anwenden soll. Können Sie mir eine kleine Beschreibung geben, wie es momentan funktioniert? Können Sie eine einfache Datentabelle sehen, wenn Sie den PHP-Teil nicht eingeschlossen haben? Vielen Dank! –

Antwort

0

Sie können einen Blick auf das Kind Funktionalität in Datentabellen nehmen wollen: https://datatables.net/examples/api/row_details.html

Statt die zusätzlichen Informationen, die Sie im Beispiel sehen Sie Tabellenzeilen stattdessen setzen könnte.

+0

Ich habe meinen Code aktualisiert und versuche, Daten von PHP zu bekommen, aber es kann nicht funktionieren, können Sie mir helfen, das Problem zu lösen? – user6065185

+0

Ich werde heute einen Blick darauf werfen und hoffentlich auf den richtigen Weg bringen. –

+0

Kyle Pastor, danke für deine Hilfe und ich werde auf dich warten, vielen Dank – user6065185