【问题标题】:Datatable server processing SELECT COUNT数据表服务器处理 SELECT COUNT
【发布时间】:2016-08-29 21:00:37
【问题描述】:

我使用了一个非常简单的数据表服务器端脚本。

<?php

/*
 * DataTables example server-side processing script.
 *
 * Please note that this script is intentionally extremely simply to show how
 * server-side processing can be implemented, and probably shouldn't be used as
 * the basis for a large complex system. It is suitable for simple use cases as
 * for learning.
 *
 * See http://datatables.net/usage/server-side for full details on the server-
 * side processing requirements of DataTables.
 *
 * @license MIT - http://datatables.net/license_mit
 */

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Easy set variables
 */

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

// Table's primary key
$primaryKey = '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' => 'id', 'dt' => 0 ),
    array( 'db' => 'name',  'dt' => 1 ),
    array( 'db' => 'mail',   'dt' => 2 ),
    array( 'db' => 'pass',   'dt' => 3 ),
    array( 'db' => 'phone',   'dt' => 4 ),
    array( 'db' => 'lastname',   'dt' => 5 )

);

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


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * 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( 'ssp.class.php' );

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

我只想添加一个带有来自其他表的子查询的列。类似的东西:

array( 'db' => 'number_society',   'dt' => 6 , 'fn'=>'select count(*) from   
society where id_customer=primary_key' )

我在网上找到了非常复杂的代码,但这并不是那么复杂。对于每一行,我必须计算其他表中第二个表中的值“id_customer”=第一个表中的 id 的行数。

【问题讨论】:

    标签: php mysql datatable


    【解决方案1】:

    你可以这样写一个 SQL 查询:

    SELECT c.*,
    (select count(*) from society as s where s.id_customer = c.primary_key) as numItems
    from customer as c
    

    【讨论】:

    • 谢谢,如何配置自定义sql查询?
    猜你喜欢
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多