Следующий link1 а также link2. На вопрос ответили с помощью https://github.com/emran/ssp. Но у меня есть проблема в моем запросе ниже:
$joinQuery = "FROM `monitor` AS `a` JOIN `sym_category` AS `b` JOIN `model_cat` AS `c`";
$joinQuery.= "ON (`b`.`id_sym` = `a`.`id_sym`) AND (`c`.`id_mod` = `a`.`id_mod`)";
$extraWhere= "`a`.`id_car` LIKE 'MKT%' OR `a`.`id_car` LIKE 'RK%' OR `a`.`id_car` LIKE 'CC%'";
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns, $joinQuery, $extraWhere )
);
ssp.class.join.php:
static function simple($request,$sql_details,$table,$primaryKey,$columns,$joinQuery = NULL,$extraWhere = '',$groupBy = '')
{
$bindings = array();
$db = SSP::sql_connect( $sql_details );
// Build the SQL query string from the request
$limit = SSP::limit( $request, $columns );
$order = SSP::order( $request, $columns, $joinQuery );
$where = SSP::filter( $request, $columns, $bindings, $joinQuery );
// IF Extra where set then set and prepare query
if($extraWhere){
$extraWhere = ($where) ? ' AND '.$extraWhere : ' WHERE '.$extraWhere;
}
$groupBy = ($groupBy) ? ' GROUP BY '.$groupBy .' ' : '';
// Main query to actually get the data
if($joinQuery){
$col = SSP::pluck($columns, 'db', $joinQuery);
$query = "SELECT SQL_CALC_FOUND_ROWS ".implode(", ", $col)."$joinQuery
$where
$extraWhere
$groupBy
$order
$limit";
}else{
$query = "SELECT SQL_CALC_FOUND_ROWS `".implode("`, `", SSP::pluck($columns, 'db'))."`
FROM `$table`
$where
$extraWhere
$groupBy
$order
$limit";
}
После того, как я пытаюсь поставить некоторые $extraWhere
фильтр одного столбца не работает, но данные, отфильтрованные по дополнительному, могут появиться (status 200 OK)
,
я должен попытаться удалить:
$extraWhere= "/*`a`.`id_car` LIKE 'MKT%' OR */`a`.`id_car` LIKE 'RK%' OR `a`.`id_car` LIKE 'CC%'";
фильтр с одним столбцом работает, но почему он не работает, когда я добавляю фильтр MKT%
в каком пункте?
Задача ещё не решена.
Других решений пока нет …