Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-带两个条件的AND_Php_Mysql_Datatables - Fatal编程技术网

php-带两个条件的AND

php-带两个条件的AND,php,mysql,datatables,Php,Mysql,Datatables,我在服务器端处理中使用jquery datatables。我尝试在php中为我的全局过滤器实现一个函数: 函数应仅显示所有行当且仅当: -->两个单词在同一列和同一行中 或 -->这两个单词在不同的列和同一行中 因此..如果我在全局筛选器上键入自由楼层或自由楼层,它将始终返回相同的查询 您可以在此处测试全局筛选器: 但不幸的是,这个jquery表没有从MySQL加载数据,所以我需要在php(服务器端)中复制它 对于服务器端处理,全局筛选器的相关php代码为: static function f

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

函数应仅显示所有行当且仅当

-->两个单词在同一列和同一行中

-->这两个单词在不同的列和同一行中

因此..如果我在全局筛选器上键入
自由楼层
自由楼层
,它将始终返回相同的查询

您可以在此处测试全局筛选器:

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

对于服务器端处理,全局筛选器的相关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;
            }
        }
    }
静态函数过滤器($request,$columns,&$bindings)
{
$globalSearch=array();
$columnSearch=array();
$dtColumns=self::pull($columns,'dt');
如果(isset($request['search'])和&$request['search']['value']!=''){
$str=$request['search']['value'];

对于($i=0,$ien=count($request['columns']))$I我不认为您会得到不同的答案,这个问题仍然与您关于此问题的第一个问题相同->。您将服务器端筛选与客户端筛选和vice verca相混合/混淆。您需要选择是使用客户端筛选还是服务器端筛选。我倾向于这样的结论:想要客户端过滤,但不确定-您只显示了服务器端代码和屏幕截图,告诉我们过滤是在客户端完成的-到目前为止,我的意思是。是否可以像php中的客户端那样复制全局过滤器?