如何在Datatable php中连接两个表或编写自定义查询?

时间:2016-01-13 12:04:59

标签: php mysql join datatable

我使用datatable将数据列为服务器端脚本。

    // DB table to use
$table = 'enquiry';

// Table's primary key
$primaryKey = 'enquiry_id';

// 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 simple
// indexes
$columns = array(
    array(
        'db' => 'enquiry_date',
        'dt' => 0,
        'formatter' => function( $d, $row ) {
            return date('jS M y', strtotime($d));
        }
    ),
    array('db' => 'parent_name', 'dt' => 1),
    array('db' => 'child_name', 'dt' => 2),
    array('db' => 'mobile', 'dt' => 3),
    array('db' => 'emirate', 'dt' => 4),
    array('db' => 'remarks', 'dt' => 5),
    array('db' => 'enquiry_status_id', 'dt' => 6),
);

// SQL server connection information
$sql_details = array(
    'user' => 'root',
    'pass' => '',
    'db' => 'lsn',
    'host' => ''
);


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * If you just want to use the basic configuration for DataTables with PHP
 * server-side, there is no need to edit below this line.
 */

require( './server_side/scripts/ssp.class.php' );

echo json_encode(
        SSP::simple($_GET, $sql_details, $table, $primaryKey, $columns)
);

这是我的php服务器端脚本,并且对于单个表工作非常好。

我希望在列出表格行时加入两个表格。但我找不到任何连接表或编写自定义查询的选项。

如果有可能,我怎么能加入表?

2 个答案:

答案 0 :(得分:0)

这里有两个表keyid相同的字段和其他字段提取

$sql_t="SELECT tabkey.keyid, table1.value, table2.value
FROM
(SELECT table1.keyid FROM table1
UNION
SELECT table2.keyid FROM table2) as tabkey
LEFT JOIN
table1 on tabkey.keyid = table1.keyid
LEFT JOIN
table2 on tabkey.keyid = table2.keyid;";

答案 1 :(得分:0)

第1步:打开ssp.class.php

第2步:找到这一行..... FROM' $ table'

步骤3:删除单引号.... FROM $ table

步骤4:对另一个做同样的事情..... FROM' $ table' "

                                     FROM    $table"

步骤5:您现在可以将子查询添加到$ table

示例$ table ="(从my_list join中选择*)&#34 ;;

第6步:庆祝=)