Php Datatables(服务器端)-格式化艺术家数据后,其值不可搜索

Php Datatables(服务器端)-格式化艺术家数据后,其值不可搜索,php,search,datatables,server-side,Php,Search,Datatables,Server Side,我从数据库中提取了数据。艺术家数据的示例是10、11、12(逗号分隔的值),每个值都有来自另一个表的相应数据。 格式化并获取值后,无法搜索艺术家列中的所有数据。 我希望你明白我想说的话。 现在我的问题是如何使我的艺术家数据可搜索?先谢谢你。 以下是我的columns数组代码: $columns = array( array('db' => '`t`.`track_id`', 'dt' => 0, 'formatter' => function($a){return '<a

我从数据库中提取了数据。艺术家数据的示例是10、11、12(逗号分隔的值),每个值都有来自另一个表的相应数据。 格式化并获取值后,无法搜索艺术家列中的所有数据。 我希望你明白我想说的话。 现在我的问题是如何使我的艺术家数据可搜索?先谢谢你。 以下是我的columns数组代码:

$columns = array(
array('db' => '`t`.`track_id`', 'dt' => 0, 'formatter' => function($a){return '<a href="tracks-view.php?id='.$a.'">'.$a.'</a>';}, 'field' => 'track_id'),
array('db' => '`t`.`upc`', 'dt' => 1, 'field' => 'upc'),
array('db' => '`t`.`isrc`', 'dt' => 2,       'field' => 'isrc'),
array('db' => '`t`.`tracktitle`', 'dt' => 3, 'field' => 'tracktitle'),
array('db' => '`t`.`artist`', 'dt' => 4,
  'formatter' => function($a,$row){
          if($a !=''){
                  $ab = explode(',',$a);
                      $artist ="";
                      $db = new Database();
                      $db->connect();
                      foreach ($ab as $artindex => $artvalue) {
                        $q_a ='SELECT fname FROM rartist WHERE id = '.$artvalue;
                        $r_a = $db->query($q_a);
                        $a_a = $db->fetch_array_assoc($r_a);
                        $a_id = $artvalue;
                        $a_name = $a_a['fname'];
                        if(end($ab)==$artvalue){
                          $artist .= '<span>'.$a_name.'</span>';
                        }else{
                          $artist .= '<span>'.$a_name.'</span>, ';
                        }
                      }
                      return $artist;
          }else{return $artist='';}
        },
 'field' => 'artist'),
array('db' => '`t`.`publisher`', 'dt' => 5, 'field' => 'publisher'),
array('db' => '`t`.`licensor`', 'dt' => 6,  'field' => 'licensor'),
array('db' => '`t`.`genre`', 'dt' => 7, 'field' => 'genre'),
array('db' => '`t`.`discno`', 'dt' => 8, 'field' => 'discno'),
array('db' => '`t`.`trackno`', 'dt' => 9, 'field' => 'trackno')
);
$columns=array(
数组('db'=>'`t`.`track\u id`','dt'=>0,'formatter'=>function($a){return';},'field'=>'track\u id'),
数组('db'=>'t`.'upc`','dt'=>1,'field'=>'upc'),
数组('db'=>'t`.'isrc`','dt'=>2,'field'=>'isrc'),
数组('db'=>'t`.'tracktitle`','dt'=>3,'field'=>'tracktitle'),
数组('db'=>''t`.'artist`','dt'=>4,
“格式化程序”=>函数($a,$row){
如果($a!=''){
$ab=爆炸(“,”,$a);
$artist=“”;
$db=新数据库();
$db->connect();
外汇($ab作为$artindex=>$artvalue){
$q_a='从rartist中选择fname,其中id='。$artvalue;
$r\u a=$db->query($q\u a);
$a\u a=$db->fetch\u array\u assoc($r\u a);
$a_id=$artvalue;
$a_name=$a_a['fname'];
如果(结束($ab)=$artvalue){
$artist.=''.$a_name.'';
}否则{
$artist.=''.$a_name'.';
}
}
返回$artist;
}else{return$artist='';}
},
“字段”=>“艺术家”),
数组('db'=>'t`.'publisher`','dt'=>5,'field'=>'publisher'),
数组('db'=>'t`.'licensor`','dt'=>6,'field'=>'licensor'),
数组('db'=>'t`.'genre`','dt'=>7,'field'=>'genre'),
数组('db'=>'t`.'discno`','dt'=>8,'field'=>'discno'),
数组('db'=>'t`.'trackno`','dt'=>9',field'=>'trackno')
);

非常感谢您的回答。谢谢。

您是在客户端还是服务器端搜索数据?我在你的SQL中看不到任何东西可以做到这一点。嗨,马克,我不想让用户在客户端搜索数据。请帮帮我。谢谢,您是在客户端还是服务器端搜索数据?我在你的SQL中看不到任何东西可以做到这一点。嗨,马克,我不想让用户在客户端搜索数据。请帮帮我。非常感谢。