Als PaulF
Wie bereits erwähnt, müssen Sie JOIN
verwenden oder Unterabfrage, um den Namen des Vaters aus derselben Tabelle abzurufen.
Ich nehme an, Sie verwenden ssp.class.php
Ihre Daten serverseitig nach dem von Ihnen genannten Beispiel zu verarbeiten.
Klasse ssp.class.php
unterstützt keine Verknüpfungen und Unterabfragen, aber es gibt eine Problemumgehung. Der Trick besteht darin, eine Unterabfrage zu verwenden, wie unten in $table
gezeigt Definition. table
ersetzen mit Ihrem tatsächlichen Tabellennamen in der Unterabfrage.
$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 )
);
Sie müssen auch ssp.class.php
bearbeiten und ersetzen Sie alle Instanzen von FROM `$table`
mit FROM $table
um Backticks zu entfernen.
Stellen Sie sicher, dass alle Spaltennamen eindeutig sind, andernfalls verwenden Sie AS
um einen Alias zuzuweisen.
ANMERKUNGEN
Es gibt auch github.com/emran/ssp
Repository, das die erweiterte ssp.class.php
enthält Unterstützung von JOINs.
LINKS
Siehe jQuery DataTables:Verwendung von WHERE, JOIN und GROUP BY mit ssp.class.php für weitere Informationen.