Jako PaulF
je třeba použít JOIN
nebo dílčí dotaz pro získání jména otce ze stejné tabulky.
Předpokládám, že používáte ssp.class.php
zpracovávat vaše data na straně serveru na základě příkladu, který jste zmínili.
Třída ssp.class.php
nepodporuje spojení a dílčí dotazy, ale existuje řešení. Trik je v použití dílčího dotazu, jak je ukázáno níže v $table
definice. Nahraďte table
s vaším skutečným názvem tabulky v dílčím dotazu.
$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 )
);
Musíte také upravit ssp.class.php
a nahradit všechny výskyty FROM `$table`
pomocí FROM $table
k odstranění zpětných zaškrtnutí.
Ujistěte se, že všechny názvy sloupců jsou jedinečné, jinak použijte AS
přiřadit alias.
POZNÁMKY
Existuje také github.com/emran/ssp
úložiště, které obsahuje vylepšený ssp.class.php
podporující JOINy.
ODKAZY
Viz jQuery DataTables:Použití WHERE, JOIN a GROUP BY pomocí ssp.class.php pro více informací.