如何在DataTables的服务器端脚本中将表作为变量传递?

时间:2015-10-07 12:34:27

标签: php datatables

我最近让DataTables为我做了排序和分页。我的表作为数组加载:

    $table_fetch = $dbh->query("SELECT relname FROM pg_class, pg_namespace WHERE relnamespace = pg_namespace.oid AND nspname = 'schema' AND relkind = 'r'");
$tables = array();
while ($row_list = $table_fetch->fetch(PDO::FETCH_ASSOC))
{
    $tables[] = $row_list['relname'];
}

他们会向用户显示下拉选项:

<form action="<?php $_SERVER['PHP_SELF'] ?>" method="POST" id="form">
<select name="table" onchange="this.form.submit()">
<option>Select a Table</option>
    <?php
                    foreach ($tables as $table) {
                        echo "<option value='$table'>" . $table . " </option>";
                    }
                ?>
</select>
</form>

表格在提交后作为变量传递

if(isset($_POST['table'])){
    $var_table = $_POST["table"];
    $query = $dbh->prepare("select * FROM schema.".$var_table."");

然后像这样启动DataTables:

<script>
$(document).ready(function(){
    $('#sortable').DataTable();

});
</script>

它正常工作,直到一个表达到11K +行并且DataTables无法正确加载它(它开始加载一个页面中的所有项目,没有排序和分页,但其他表格也可以)。所以我已经阅读了DataTables的服务器端脚本,并想知道如何将表作为变量传递并在他们提供的server_processing.php模板中加载项目。

0 个答案:

没有答案