首页 > 解决方案 > 当字段不在数据库中的表中时,数据表搜索不起作用

问题描述

我使用具有默认设置和服务器处理的简单数据表。
我的服务器端代码是这样的:

$table = 'lead';
$primaryKey = 'id';
$colnowid = 2;
// Array of database columns which should be read and sent back to DataTables.
// The `db` parameter represents the column name in the database, while the `dt`
// parameter represents the DataTables column identifier. In this case object
// parameter names

include_once( 'jdf.php' );
include_once( 'config.php' );

$columns = array(

array(
    'db' => 'id',
    'dt' => 'id',
    'formatter' => function ( $d, $row ) {
        if(1 == 1 ){
           return  '<a href="lead-add.php?id='.$d.'">ویرایش</a> ';
        }
    }
),
array(
    'db' => 'type',
    'dt' => 'type',
    'formatter' => function ( $d, $row ) {
        global $colnowid;
        return '<a href="lead-view.php?id='.$colnowid.'">'.$d.'</a>';
    }
),
array(
    'db' => 'cat',
    'dt' => 'cat',
    'formatter' => function ( $d, $row ) {
        return $d;
    }
),
array(
    'db' => 'contact_id',
    'dt' => 'contact_id',
    'formatter' => function ( $d, $row ) {
        if ( !isset( $db ) ) {
            $db = db();
        }
        if($d != '') {
            $c = qselect("select name from contact where id = $d limit 1",$db);

            return $c['name'];
        } else { 
            return '';
        }
    }
),
// SQL server connection information
$sql_details = array(
    'user' => $dbuser,
    'pass' => $dbpass,
    'db' => $dbname,
    'host' => 'localhost'
);

require( 'ssp.class.php' );
$db = db();
echo json_encode( SSP::simple( $_POST, $sql_details, $table, $primaryKey, $columns ) );die;

一切都很完美。
我对 type、cat 和其他人的搜索工作正常,
但它不搜索联系人姓名,因为我是从另一个表中获取的。
那么,知道如何使它工作吗?

标签: phpdatatabledatatablesdatatables-1.10

解决方案


如何使用 ssp.class.php 连接两个表
从这里找到我的答案
它的添加连接和服务器端脚本的位置,以便您可以加入表以进行搜索


推荐阅读