为了账号安全,请及时绑定邮箱和手机立即绑定

如何搜索以逗号分隔的多个值

如何搜索以逗号分隔的多个值

PHP
扬帆大鱼 2022-07-16 16:06:03
我正在使用此页面https://datatables.net/examples/data_sources/server_side.htmldatatable引用的数据库中获取数据在下表中,我在搜索框的每一列中都有输入字段。例如,我们First Name, Last Name, Position ...在下面有这样的列等Fname search, lname search and Position search..。在这里,当我First Name从Fname search框中搜索时,我得到了结果,这意味着如果我搜索,mike我得到了 mike 数据。在这里,我的查询是当我使用逗号分隔同时搜索多个名称时,意味着如果从Fname search框中搜索,mike,jack我应该使用 JavaScript 在该表中获取 mike 行数据和 jack 行数据。
查看完整描述

1 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

由于数据是在服务器端过滤的,因此您必须在 ssp.class.php 文件中进行更改。


尝试搜索这个:


        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[] = "`".$column['db']."` LIKE ".$binding;

                }

            }

        }

并将其替换为:


        if ( isset($request['search']) && $request['search']['value'] != '' ) {

            $str = $request['search']['value'];


            $parts = explode(",",$str);

            foreach ($parts as $part) {

                $part = trim($part);

                if (strlen($part) == 0) {

                    continue;

                }

                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, '%'.$part.'%', PDO::PARAM_STR );

                        $globalSearch[] = "`".$column['db']."` LIKE ".$binding;

                    }

                }

            }

        }


查看完整回答
反对 回复 2022-07-16
  • 1 回答
  • 0 关注
  • 159 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号