如何在 Datatables 的服务器端处理脚本中使用 $_GET?

我正在使用此示例的代码https://datatables.net/examples/server_side/simple.html


我想在 server_processing.php 文件中使用 $_GET 变量,以便我可以指定值并从 url 执行此操作。例如 table.php?table-id=table1


索引.html


    <a href="table.php?table-id=table1">Table 1</a>

    <a href="table.php?table-id=table2">Table 2</a>

    <a href="table.php?table-id=table3">Table 3</a>

表.php


    <?php

    // Get

    $var = $_GET['table-id'];

    ?>

    <table id="example" style="width:100%">

        <thead>

            <tr>

                <th>Payslip ID</th>

                <th>Employee ID</th>

                <th>Employee Name</th>

            </tr>

        </thead>

    </table>

    <script>

    $(document).ready(function() {

        $('#example').DataTable( {

            "processing": true,

            "serverSide": true,

            "ajax": "scripts/server_processing.php"

        } );

    } );

    </script>

脚本/server_processing.php


    <?php

    // DB table to use

    $table = '$var';


    // Table's primary key

    $primaryKey = 'id';


    // indexes

    $columns = array(

        array( 'db' => 'first_name', 'dt' => 0 ),

        array( 'db' => 'last_name',  'dt' => 1 ),

        array( 'db' => 'position',   'dt' => 2 )

    );


    // SQL server connection information

    $sql_details = array(

        'user' => 'root',

        'pass' => '',

        'db'   => 'sampledb',

        'host' => 'localhost'

    );


    require( 'ssp.class.php' );


    echo json_encode(

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

    );

变量 table-id 未定义。有没有办法做到这一点?链接部分很重要,因此我无法从代码中删除它。


慕神8447489
浏览 123回答 1
1回答

阿晨1998

您需要$_GET['table-id']使用ajax.data功能将through的值传递给 AJAX 调用。该ajax.data选项提供了向请求添加额外数据的能力,或者在需要时修改提交的数据对象。$('#example').DataTable( {&nbsp; &nbsp; "processing": true,&nbsp; &nbsp; "serverSide": true,&nbsp; &nbsp; "ajax": {&nbsp; &nbsp; &nbsp; &nbsp; "url": "scripts/server_processing.php",&nbsp; &nbsp; &nbsp; &nbsp; "data": {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "table_id": <?= $_GET['table_id'] ?>&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }} );那么$_GET['table_id']应该可以在scripts/server_processing.php.
打开App,查看更多内容
随时随地看视频慕课网APP