Como PaulF
señaló, necesita usar JOIN
o sub-consulta para recuperar el nombre del padre de la misma tabla.
Supongo que estás usando ssp.class.php
para procesar sus datos en el lado del servidor según el ejemplo que ha mencionado.
Clase ssp.class.php
no admite uniones y subconsultas, pero hay una solución. El truco es usar una subconsulta como se muestra a continuación en $table
definición. Reemplazar table
con su nombre de tabla real en la subconsulta.
$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 )
);
También necesita editar ssp.class.php
y reemplace todas las instancias de FROM `$table`
con FROM $table
para eliminar los acentos graves.
Asegúrese de que todos los nombres de columna sean únicos; de lo contrario, use AS
para asignar un alias.
NOTAS
También hay github.com/emran/ssp
repositorio que contiene ssp.class.php
mejorado apoyando JOINs.
ENLACES
Consulte jQuery DataTables:Usando DONDE, ÚNETE y AGRUPA POR con ssp.class.php para más información.