Jquery(数据表)功能未完全初始化? php/mysql
Posted
技术标签:
【中文标题】Jquery(数据表)功能未完全初始化? php/mysql【英文标题】:Jquery (Datatables) features not fully initializing? php/mysql 【发布时间】:2015-03-27 19:37:46 【问题描述】:我正在尝试应用 Jquery 的数据表来显示我的数据库。在此链接的示例中,表格是可搜索的、可排序的,并且具有很好的颜色分离。
http://www.datatables.net/examples/basic_init/zero_configuration.html
我当前的代码显示数据,但没有排序功能,没有搜索选项,只有原始数据、粗体标题和分隔行的条(没有像示例中那样交替颜色。)带有垃圾数据的图片:@987654322 @
似乎它正在应用一些 css 但不是全部?我不知道为什么缺少功能和剩余样式。我返回并从上一个代码中放入 html 结构,结果相同,没有抛出错误。
代码:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error)
die("Connection failed: " . $conn->connect_error);
$sql = "SELECT Sid, Fname, Lname, Email, Dtype, Mac, Date FROM StudentDeviceReg";
$result = $conn->query($sql);
?>
<!Doctype html>
<html>
<head>
<title>DataTables</title>
<Meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="media/js/jquery-1.11.1.min.js" type="text/javascript"></script>
<script src="media/js/jquery.dataTables.min.js" type="text/javascript"></script>
<style type="text/css">
@import "media/css/jquery.dataTables.css";
</style>
<script type="text/javascript" charset="utf-8">
$(document).ready(function()
$('#datatables').dataTable();
)
</script>
</head>
<body>
<div>
<thead>
<?php
if ($result->num_rows > 0)
echo "<table id='datatables' class='display'>
<tr>
<th>ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
<th>Device</th>
<th>Mac Address</th>
<th>Date</th>
</tr>";
?>
</thead>
<tbody>
<?php
// output data of each row
while($row = $result->fetch_assoc())
echo "<tr>
<td>".$row["Sid"]."</td>
<td>".$row["Fname"]."</td>
<td>".$row["Lname"]."</td>
<td>".$row["Email"]."</td>
<td>".$row["Dtype"]."</td>
<td>".$row["Mac"]."</td>
<td>".$row["Date"]."</td>
</tr>";
echo "</table>";
else
echo "0 results";
$conn->close();
?>
</tbody>
</div>
</body>
</html>
【问题讨论】:
控制台有什么错误吗? 否定,未创建错误日志 您确定您的表格结构良好吗?我建议你在浏览器中检查你的页面源代码:-) 你打印这个:<thead> <table> </thead> <tbody> </table> </tbody>
(按照你的代码)
我明白你在说什么,但考虑到表格是在 php 括号中开始并且必须以 echo 停止,而 jquery 需要 您的表树结构不正确。
<body>
<div>
<?php
if ($result->num_rows > 0)
echo "
<table id='datatables' class='display'>
<thead>
<tr>
<th>ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
<th>Device</th>
<th>Mac Address</th>
<th>Date</th>
</tr>
</thead>
<tbody>";
while($row = $result->fetch_assoc())
echo "
<tr>
<td>".$row["Sid"]."</td>
<td>".$row["Fname"]."</td>
<td>".$row["Lname"]."</td>
<td>".$row["Email"]."</td>
<td>".$row["Dtype"]."</td>
<td>".$row["Mac"]."</td>
<td>".$row["Date"]."</td>
</tr>";
echo "
<tbody>
</table>";
?>
</div>
</body>
【讨论】:
哦!我没有意识到你可以像这样在 php 中嵌套标签,仍然有点新。它现在正在工作,非常感谢! :)以上是关于Jquery(数据表)功能未完全初始化? php/mysql的主要内容,如果未能解决你的问题,请参考以下文章
PHP for 循环不适用于 jQuery API(未捕获的 TypeError)
jquery 数据表:“未捕获的类型错误:无法读取未定义的属性‘长度’”在销毁和重新初始化后。表作为数据源
列表视图在 jQuery mobile/phonegap 中初始时未加载
为啥当我得到我的数据时似乎未定义/为空?我正在使用 jQuery.post() 从 JS 向 PHP 发送数据
使用 mail() PHP 脚本的 jQuery AJAX 表单发送电子邮件,但来自 HTML 表单的 POST 数据未定义