Come PaulF
sottolineato, devi usare JOIN
o sottoquery per recuperare il nome del padre dalla stessa tabella.
Presumo che tu stia usando ssp.class.php
per elaborare i tuoi dati lato server in base all'esempio che hai citato.
Classe ssp.class.php
non supporta join e sottoquery, ma esiste una soluzione alternativa. Il trucco è usare la sottoquery come mostrato di seguito in $table
definizione. Sostituisci table
con il nome effettivo della tabella nella sottoquery.
$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 )
);
Devi anche modificare ssp.class.php
e sostituisci tutte le istanze di FROM `$table`
con FROM $table
per rimuovere i backtick.
Assicurati che tutti i nomi delle colonne siano univoci, altrimenti usa AS
per assegnare un alias.
NOTE
C'è anche github.com/emran/ssp
repository che contiene ssp.class.php
avanzato sostenere le JOIN.
LINK
Vedi jQuery DataTables:utilizzo di WHERE, JOIN e GROUP BY con ssp.class.php per ulteriori informazioni.