1 回答
TA贡献1895条经验 获得超7个赞
ssp.class.php不支持JOIN. 但是我们有一个解决方法:
解决方案1(使用子查询):
在定义中使用子查询$table并替换dist_code为disnamein $columns,如下所示:
$dbDetails = [
'host' => '****',
'user' => '****',
'pass' => '****',
'db' => '****'
];
$table = '(SELECT r.*, d.disname FROM requestss r INNER JOIN districts d ON r.dist_code = d.discode) tbl';
$primaryKey = 'id';
$columns = [
[ 'db' => 'time_stamp', 'dt' => 0 ],
[ 'db' => 'disname', 'dt' => 1 ],
[ 'db' => 'req_type', 'dt' => 2 ]
];
// Include SQL query processing class
require( 'ssp.class.php' );
// Output data as json format
echo json_encode(
SSP::simple( $_GET, $dbDetails, $table, $primaryKey, $columns )
);
然后,您需要替换 with 的所有实例`$table`以$table删除ssp.class.php文件中的反引号。
解决方案 2(创建视图):
如果您不想编辑ssp.class.php文件,可以在数据库中创建一个视图:
CREATE
VIEW requests_view
AS SELECT r.*, d.disname FROM requestss r INNER JOIN districts d ON r.dist_code = d.discode;
然后,requests_view用作您的$tableingetData.php文件:
$dbDetails = [
'host' => '****',
'user' => '****',
'pass' => '****',
'db' => '****'
];
$table = 'requests_view';
$primaryKey = 'id';
$columns = [
[ 'db' => 'time_stamp', 'dt' => 0 ],
[ 'db' => 'disname', 'dt' => 1 ],
[ 'db' => 'req_type', 'dt' => 2 ]
];
// Include SQL query processing class
require( 'ssp.class.php' );
// Output data as json format
echo json_encode(
SSP::simple( $_GET, $dbDetails, $table, $primaryKey, $columns )
);
您还可以考虑使用第三方 PHP 库,例如自定义 SSP 类用于数据表库或用于 PHP的支持JOINs 的数据表库。
- 1 回答
- 0 关注
- 83 浏览
添加回答
举报