YADCF + 数据表服务器端用 Php 填充 Select

YADCF + Datatables Server Side Populate Select with Php

我确实搜索了提到该论点的每一页,但似乎无法弄清楚这一点 我将数据表与 Yadcf 、ajax 源、server_side.php 和 ssp.class.php

一起使用

现在我想用所有数据填充 select 过滤器,而不仅仅是当前页面, 我阅读并看到了 yadcf showcase --> yadcf-showcase.appspot.com/server_side_source.html 唯一提到的是 JQuery (java) 部分填充 yadcf_data_n

但无法找到一个使用 server_side.php 和 ssp.class.php 检索数据的示例。

我(以及我在很多其他人周围看到的)如果有一个关于如何存档这个盗版的例子真的很棒

我的数据表代码是:

  var oTable2;
  oTable2 = $('#example2').DataTable({
            "responsive": true,
            "processing": true,
            select: true,
            "serverSide":true,
            stateSave: true,
            "ajax": {
               "type" : "GET",
               "url":  "leadsdata.php",
               "data" :  function ( d ) {
                d.var1=var1;
                   }

            },
            "columns": [{
                "data":"test",
                "mRender": function ( client_id, type, full )  {
                return  '<a href="clickme.php?id='+Base64.encode(client_id)+'"> GO</a>';
                }
        },{
                "data": 1
        },{
                "data": 2
        },{
                "data": 3
        },{
                "data": 4               
        },{
                "data": 5
        },{
                "data": 6

  }],
            "language": {
               "infoFiltered": ".",
               "info": "_START_ : _END_ nga _TOTAL_ nominativ"
             }

   });

    yadcf.init(oTable2, [{
            column_number: 1,
                  filter_type: "text",
                  filter_delay: 200
            }, {
            column_number: 2,
                  filter_type: "text",
                  filter_delay: 200
            }, {
            column_number: 3
            }, {
            column_number: 4,
                filter_type: "text",
                filter_delay: 200   
            }, {
            column_number: 5

            }, {
            column_number: 6

            }]);

    });

并使用默认 server_side.php Click here to show

和默认的ssp.class.phpClick here to show

欢迎提供如何从此设置中填充 yadcf_data_n# 的任何示例代码

对同一主题感兴趣的任何人都可以

感谢 vedmack (YADCF) 作者的帮助,我找到了完美的解决方案:

修改来自 :

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

至:

$data=SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns, $joinQuery, $extraWhere );

$db = SSP::sql_connect( $sql_details );
$stmt3 = $db->prepare( 'SELECT DISTINCT(value) FROM esito' );
$stmt3->execute();
$data['yadcf_data_3'] = $stmt3->fetchAll(PDO::FETCH_COLUMN, 0);

$stmt5 = $db->prepare( 'SELECT DISTINCT(value2) FROM table' );
$stmt5->execute();
$data['yadcf_data_5'] = $stmt5->fetchAll(PDO::FETCH_COLUMN, 0);

$stmt6 = $db->prepare( 'SELECT DISTINCT(value3) FROM table' );
$stmt6->execute();
$data['yadcf_data_6'] = $stmt6->fetchAll(PDO::FETCH_COLUMN, 0);


echo json_encode($data);

所以我们对每个 select 字段进行自定义查询(在我的例子中我有 3 个) re-include $db 因为我的 ssp.class.php 在不同的文件

希望对你有帮助