Sebagai PaulF
ditunjukkan, Anda perlu menggunakan JOIN
atau sub-kueri untuk mengambil nama ayah dari tabel yang sama.
Saya berasumsi Anda menggunakan ssp.class.php
untuk memproses data Anda di sisi server berdasarkan contoh yang telah Anda sebutkan.
Kelas ssp.class.php
tidak mendukung gabungan dan sub-kueri, tetapi ada solusinya. Caranya adalah dengan menggunakan sub-query seperti yang ditunjukkan di bawah ini di $table
definisi. Ganti table
dengan nama tabel Anda yang sebenarnya di sub-kueri.
$table = <<<EOT
(
SELECT
a.id,
a.name,
a.father_id,
b.name AS father_name
FROM table a
LEFT JOIN table b ON a.father_id = b.id
) temp
EOT;
$primaryKey = 'id';
$columns = array(
array( 'db' => 'id', 'dt' => 0 ),
array( 'db' => 'name', 'dt' => 1 ),
array( 'db' => 'father_id', 'dt' => 2 ),
array( 'db' => 'father_name', 'dt' => 3 )
);
$sql_details = array(
'user' => '',
'pass' => '',
'db' => '',
'host' => ''
);
require( 'ssp.class.php' );
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);
Anda juga perlu mengedit ssp.class.php
dan ganti semua instance FROM `$table`
dengan FROM $table
untuk menghapus backtick.
Pastikan semua nama kolom unik jika tidak gunakan AS
untuk menetapkan alias.
CATATAN
Ada juga github.com/emran/ssp
repositori yang berisi ssp.class.php
enhanced yang disempurnakan mendukung GABUNG.
LINK
Lihat jQuery DataTables:Menggunakan WHERE, JOIN dan GROUP BY dengan ssp.class.php untuk informasi lebih lanjut.