php - 和两个条件

时间:2015-04-19 18:13:03

标签: php mysql datatables

我在服务器端处理中使用jquery数据表。我尝试在php中为我的全局过滤器实现一个函数:

global filter

当且仅当:

时,功能才会显示所有行

- >两个单词都在同一列AND 在同一行
OR
- >两个单词都在不同的列中,并且位于同一行

所以..如果我在全局过滤器上键入floor freefloor free,它应该始终返回SAME查询。

您可以在此处测试全局过滤器:EXAMPLE

但不幸的是这个jquery表没有从MySQL加载数据所以我需要在php(服务器端)中复制它

对于服务器端处理,Global Filter的相关php代码是:

static function filter ( $request, $columns, &$bindings )
{
    $globalSearch = array();
    $columnSearch = array();
    $dtColumns = self::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 = self::bind( $bindings, '%'.$str.'%', PDO::PARAM_STR );
                //$globalSearch[] = "match(".$column['db'].") against (".$binding.")";
                $globalSearch[] = "`".$column['db']."` LIKE ".$binding;
            }
        }
    }

0 个答案:

没有答案