用于 jquery 数据表的自定义 MySQL 查询

Posted

技术标签:

【中文标题】用于 jquery 数据表的自定义 MySQL 查询【英文标题】:Custom MySQL query for jquery dataTables 【发布时间】:2015-01-29 04:27:51 【问题描述】:

这里的问题是数据表分页不起作用 这是我创建的从数据库输出 json 的脚本

include( "../database.php" );

$q = $dbh->prepare("SELECT r.studid, r.firstname, r.middlename, r.lastname, r.Enrolling, c.courseid,c.code, s.status,s.dateapproved,s.approvedby FROM pcc_registration r, pcc_courses c, pcc_studentsubj s  WHERE c.courseid= r.Enrolling AND s.studentid=r.studid AND  r.status=? AND s.status=? GROUP BY r.studid");
$q->execute(array(1,2));
$rows = array();
$i = 1;
while ($r = $q->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT, PDO::FETCH_COLUMN))
    $rows[] = array(
        "DT_RowId" => "row_".$i,
        "reg" => array(
                "studid" => $r[0],
                "firstname" => $r[1],
                "middlename" => $r[2],
                "lastname" => $r[3],
                "course" => $r[6],
                "dateapproved" => $r[8],
                "approvedby" => $r[9]
            ),
    );
    $i++;

$rt = (STRING) $q->rowCount();
$data = array(
        "draw" => 2,
        "recordsTotal" => $rt,
        "recordsFiltered" => $rt,
        "data" => $rows
    );
echo json_encode($data);

这是将 json 编码数据输出到页面的 javascript

(function($) 
    $(document).ready(function()   
    $('#dataTables-example').DataTable( 
        processing: true,
        serverSide: true,
        ajax: 
            url: "includes/php/approvedSched.php",
            type: "POST"
        ,
        "deferRender": true,
        columns: [
            data: "reg.studid",
            data: "reg.lastname",
            data: "reg.firstname",
            data: "reg.middlename",
            data: "reg.course",
            data: "reg.dateapproved",
            data: "reg.approvedby",
            data: "reg.studid",
        ],
        tableTools: 
            sRowSelect: "os",
            aButtons: [
                // sExtends: "editor_edit", editor: editor,
                // sExtends: "editor_remove", editor: editor
            ]
        
     );

    );

(jQuery));

对此问题的任何答案或解决方案表示赞赏 =)

【问题讨论】:

【参考方案1】:

http://datatables.net/manual/server-side

http://coderexample.com/datatable-demo-server-side-in-phpmysql-and-ajax/

此链接对使用 mySQL 的自定义服务器端有更好的帮助

【讨论】:

【参考方案2】:

问题究竟出在哪里?它只是DataTable分页,还是与MySQL查询有关?我的意思是,它是显示行而问题只是分页,还是根本不显示任何内容?

我在将查询结果从 php 以 JSON 格式“传输”到 js 时遇到了一些问题(我是一个完整的网络编程菜鸟),但 DataTables 的分页并没有给我带来任何问题...

【讨论】:

以上是关于用于 jquery 数据表的自定义 MySQL 查询的主要内容,如果未能解决你的问题,请参考以下文章

来自 MYSQL PDO 的自定义格式 JSON,用于 NVD3.js

计算不适用于 Handsontable 中使用 AJAX 的自定义单元格渲染

用于自定义日历的 CalDav 服务器

用于翻译的自定义 vanilla JS 在 Android Chrome 上不起作用

jQuery中数据的自定义选择器不起作用

不为空的自定义数据属性上的 jQuery 选择器