Som PaulF
påpeget, skal du bruge JOIN
eller underforespørgsel for at hente fars navn fra den samme tabel.
Jeg går ud fra, at du bruger ssp.class.php
at behandle dine data på serversiden baseret på det eksempel, du har nævnt.
Klasse ssp.class.php
understøtter ikke joinforbindelser og underforespørgsler, men der er en løsning. Tricket er at bruge underforespørgsel som vist nedenfor i $table
definition. Erstat table
med dit faktiske tabelnavn i underforespørgslen.
$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 skal også redigere ssp.class.php
og erstat alle forekomster af FROM `$table`
med FROM $table
for at fjerne backticks.
Sørg for, at alle kolonnenavne er unikke, ellers brug AS
for at tildele et alias.
NOTER
Der er også github.com/emran/ssp
repository, der indeholder forbedret ssp.class.php
understøtter JOINs.
LINKS
Se jQuery DataTables:Brug af WHERE, JOIN og GROUP BY med ssp.class.php for mere information.