数据库中的字段超出表范围时,数据表搜索不起作用

时间:2018-10-21 07:32:02

标签: php datatable datatables datatables-1.10

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

$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;

一切正常。
我搜索类型,猫和其他人都可以,
但它不会搜索联系人姓名,因为我是从另一个表中获取的。
那么,知道如何使它起作用吗?

1 个答案:

答案 0 :(得分:0)

How to join two tables with ssp.class.php
 从这里找到了我的答案
它的添加联接以及服务器端脚本的位置,因此您可以联接要搜索的表