请求示例:将PHP连接MS SQL Server的查询输出转为DataTables
把MS SQL查询结果转为DataTables格式的完整示例
没问题!要把你的PHP查询结果转换成带分页、搜索、排序功能的DataTables,其实只需要几步简单调整,我给你整理了一个可直接复用的示例:
步骤拆解
1. 引入DataTables依赖文件
首先得在页面里加载DataTables需要的CSS和JS资源(这里用官方CDN,你也可以下载到本地部署):
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.6/css/dataTables.bootstrap5.min.css"> <script src="https://code.jquery.com/jquery-3.7.0.min.js"></script> <script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap5.min.js"></script>
2. 修改PHP代码生成标准HTML表格
把原来直接echo零散内容的方式,改成生成带<thead>和<tbody>的标准表格结构——这是DataTables识别数据的基础:
<?php include("conn.php"); ?> <table id="contactTable" class="table table-striped table-bordered" style="width:100%"> <thead> <tr> <th>ID</th> <th>姓名</th> <th>地址</th> </tr> </thead> <tbody> <?php $sql = "SELECT * from contact"; $result = sqlsrv_query($conn, $sql); // 循环输出每一行数据 while($value = sqlsrv_fetch_array($result)) { echo "<tr>"; echo "<td>" . htmlspecialchars($value['ID']) . "</td>"; echo "<td>" . htmlspecialchars($value['Name']) . "</td>"; echo "<td>" . htmlspecialchars($value['Address']) . "</td>"; echo "</tr>"; } // 记得关闭数据库连接,避免资源占用 sqlsrv_close($conn); ?> </tbody> </table>
这里加了htmlspecialchars()是为了防止XSS注入,生产环境建议加上
3. 初始化DataTables
最后加一段JS代码,让普通表格变成功能完整的DataTables:
<script> $(document).ready(function() { $('#contactTable').DataTable({ // 可以自定义配置,比如中文语言设置 language: { search: "搜索:", paginate: { first: "首页", last: "末页", next: "下一页", previous: "上一页" } } }); }); </script>
额外提示
- 如果你的
contact表有更多字段,只需要在<thead>里添加对应<th>,并在循环里输出对应的<td>就行 - 确保服务器能正常加载jQuery,DataTables依赖它运行
- 如果不需要Bootstrap样式,可以换成DataTables的基础CSS版本
内容的提问来源于stack exchange,提问作者uiuxhub
相关产品推荐
相关产品推荐

