Merhaba arkadaşlar,
Bir kaç zamandır projelerimde DataTable kullanıyordum. Dün geceye kadar DataTables için hazırlanmış olan SSP sınıfını kullanıyordum. Fakat bir haftadır üzerinde çalıştığım sipariş sisteminin akışını komple değiştirdim. Bu sefer siparişleri listelerken kullanmış olduğum sorguda LEFT JOIN kullanma ihtiyacı hissettim. Sonuç itibari ile de kullandım. Kendi DataTables kaynağımı kendim oluşturmak için kolları sıvadım ve hayatımın SQL sorgusunu yazdım.
SSP sınıfını inceleyip indirmek için buraya tıklayınız.
Neyse buraları uzatmanın anlamı yok. DataTables ile verileri güzelce çekiyorum. Eğer veri varsa problem yaşamıyorum. Fakat boş JSON nasıl yollayabilirim? Aşağıdaki şekilde denedim fakat hata aldım.
1 2 3 4 5 6 7 8 9 |
<?php $result['draw'] = (int)$_POST['draw']; $result['recordsTotal'] = 0; $result['recordsFiltered'] = 0; $result['data'][] = []; echo json_encode($result); ?> |
Fakat DataTables’a göndermemiz gereken JSON aşağıdaki formatta olmalıymış:
1 2 3 4 5 6 |
{ "draw": 1, "recordsFiltered": 0, "recordsTotal": 0, "data": [] } |
Bunun üzerinde
1 |
$result['data'][] = []; |
değişkenim dikkatimi çekti. Onu
1 |
$result['data'] = []; |
şeklinde değiştirdiğimizde problem çözülmüş oldu. Tam hali aşağıdadır:
1 2 3 4 5 6 7 8 9 |
<?php $result['draw'] = (int)$_POST['draw']; $result['recordsTotal'] = 0; $result['recordsFiltered'] = 0; $result['data']= []; echo json_encode($result); ?> |
Kaynak: stackoverflow.com/questions/41431205/why-does-datatable-doesnt-show-empty-data-message
Yorumlar