Като PaulF
посочено, трябва да използвате JOIN
или подзаявка за извличане на името на бащата от същата таблица.
Предполагам, че използвате ssp.class.php
за обработка на вашите данни от страна на сървъра въз основа на примера, който споменахте.
Клас ssp.class.php
не поддържа обединения и подзаявки, но има заобиколно решение. Номерът е да използвате подзаявка, както е показано по-долу в $table
определение. Заменете table
с действителното ви име на таблица в подзаявката.
$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 )
);
Вие също трябва да редактирате ssp.class.php
и заменете всички екземпляри на FROM `$table`
с FROM $table
за премахване на обратни отметки.
Уверете се, че имената на всички колони са уникални, в противен случай използвайте AS
за да зададете псевдоним.
БЕЛЕЖКИ
Има и github.com/emran/ssp
хранилище, което съдържа подобрен ssp.class.php
поддържа JOIN.
ВРЪЗКИ
Вижте jQuery DataTables:Използване на WHERE, JOIN и GROUP BY с ssp.class.php за повече информация.