Som PaulF
påpekade, måste du använda JOIN
eller underfråga för att hämta faderns namn från samma tabell.
Jag antar att du använder ssp.class.php
att bearbeta dina data på serversidan baserat på exemplet du har nämnt.
Klass ssp.class.php
stöder inte anslutningar och underfrågor, men det finns en lösning. Tricket är att använda sub-query som visas nedan i $table
definition. Ersätt table
med ditt faktiska tabellnamn i underfrågan.
$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 )
);
Du måste också redigera ssp.class.php
och ersätt alla instanser av FROM `$table`
med FROM $table
för att ta bort backticks.
Se till att alla kolumnnamn är unika, annars använd AS
för att tilldela ett alias.
ANMÄRKNINGAR
Det finns också github.com/emran/ssp
repository som innehåller förbättrad ssp.class.php
stödjer JOINs.
LÄNKAR
Se jQuery DataTables:Använd WHERE, JOIN och GROUP BY med ssp.class.php för mer information.