Als PaulF
vermeld, moet u JOIN
. gebruiken of subquery om de naam van de vader op te halen uit dezelfde tabel.
Ik neem aan dat je ssp.class.php
. gebruikt om uw gegevens aan de serverzijde te verwerken op basis van het voorbeeld dat u hebt genoemd.
Klasse ssp.class.php
ondersteunt geen joins en subquery's, maar er is een tijdelijke oplossing. De truc is om een subquery te gebruiken zoals hieronder getoond in $table
definitie. Vervang table
met uw werkelijke tabelnaam in de subquery.
$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 )
);
Je moet ook ssp.class.php
bewerken en vervang alle instanties van FROM `$table`
met FROM $table
om backticks te verwijderen.
Zorg ervoor dat alle kolomnamen uniek zijn, anders gebruik je AS
om een alias toe te wijzen.
OPMERKINGEN
Er is ook github.com/emran/ssp
repository die verbeterde ssp.class.php
. bevat JOIN's ondersteunen.
LINKS
Zie jQuery-gegevenstabellen:WHERE, JOIN en GROUP BY gebruiken met ssp.class.php voor meer informatie.