私のデータテーブルには、OQC
で始まるデータのみが表示されます。where句で値が指定されていると、単一のフィルタが機能しない
require('ssp.class.join.php');
$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`)";
$joinQuery.= " WHERE `a`.`id_car` LIKE 'OQC%'";
echo json_encode(
SSP::simple($_GET, $sql_details, $table, $primaryKey, $columns, $joinQuery)
);
ssp.class.join.php:
static function filter ($request, $columns, &$bindings, $isJoin = false)
{
$globalSearch = array();
$columnSearch = array();
$dtColumns = SSP::pluck($columns, 'dt');
if (isset($request['search']) && $request['search']['value'] != '') {
$str = $request['search']['value'];
for ($i=0, $ien=count($request['columns']) ; $i<$ien ; $i++) {
$requestColumn = $request['columns'][$i];
$columnIdx = array_search($requestColumn['data'], $dtColumns);
$column = $columns[ $columnIdx ];
if ($requestColumn['searchable'] == 'true') {
$binding = SSP::bind($bindings, '%'.$str.'%', PDO::PARAM_STR);
$globalSearch[] = ($isJoin) ? $column['db']." LIKE ".$binding : "`".$column['db']."` LIKE ".$binding;
}
}
}
// Individual column filtering
for ($i=0, $ien=count($request['columns']) ; $i<$ien ; $i++) {
$requestColumn = $request['columns'][$i];
$columnIdx = array_search($requestColumn['data'], $dtColumns);
$column = $columns[ $columnIdx ];
$str = $requestColumn['search']['value'];
if ($requestColumn['searchable'] == 'true' &&
$str != '') {
$binding = SSP::bind($bindings, '%'.$str.'%', PDO::PARAM_STR);
$columnSearch[] = ($isJoin) ? $column['db']." LIKE ".$binding : "`".$column['db']."` LIKE ".$binding;
}
}
// Combine the filters into a single string
$where = '';
if (count($globalSearch)) {
$where = '('.implode(' OR ', $globalSearch).')';
}
if (count($columnSearch)) {
$where = $where === '' ?
implode(' AND ', $columnSearch) :
$where .' AND '. implode(' AND ', $columnSearch);
}
if ($where !== '') {
$where = 'WHERE '.$where;
}
return $where;
}
表示エラー:syntax error near 'WHERE a.id_car.....'
。 私はどちらの部分を変更する必要がありますか?
https://github.com/emran/ssp '$ extraCondition'に従ってください。 – nunu