在显示之前处理阵列

时间:2016-06-14 15:46:55

标签: php datatables

我使用Datatable在我的数据库中显示行,我使用这个文件

https://datatables.net/development/server-side/php_mysqli

在我的数据库中,我有一个表" table_name"里面有一些行:

"id" , "name" , "job" , "year_of_work"
"1" , "Adam" , "11", "14"
"2" , "Mark" , "14", "12"
"3" , "Erik" , "16", "16"

Job只是一个参考,我有另一个名为" Jobs"以及其中的以下行:

"id" , "Title" 
"11" , "Firman" 
"14" , "Mechanical" 
"16" , "Chef"

我使用datatable来查看内容,它返回一个数据数组,我想替换" job"与职位"名称"女巫在另一张桌子里。

我能够做到这一点"半动态! "

通过更改此行

// General output
$row[] = $aRow[ $aColumns[$i] ];

到这个

// General output
 $row[] = ($aRow[ $aColumns[$i] ]=='16' ) ? 'Chef' :  $aRow[ $aColumns[$i] ];

问题是,当我执行此更改时,我这样做,所以我的示例中的第3行显示为这样!

 "3" , "Erik" , "Chef", "Chef"

任何想法怎么做?

DataTable初始化

<script type="text/javascript" language="javascript" class="init">
  $(document).ready(function() {
    $('#example').dataTable({
      "aProcessing": true,
      "aServerSide": true,
      "ajax": "people-list.php",
      "columnDefs": [ {
        "targets": [ 0 ],
        "data": null,
        "render": function ( data ) { return '<a href=people-page?id='+data[ 0 ]+' target="_blank">'+data[ 0 ]+'</a>'; }
      } ]
    } );
  } );
</script>

1 个答案:

答案 0 :(得分:0)

我假设您在php文件中有一个检索数据的SQL查询。您应该使用作业ID JOIN表,在select中的作业表中包含title,然后在Datatable初始化中使用该属性。